NXP AN14263 Framewor پر LVGL GUI چہرے کی شناخت نافذ کریں
پروڈکٹ کی معلومات
وضاحتیں
- پروڈکٹ کا نام: فریم ورک پر LVGL GUI چہرے کی شناخت
- دستاویز پر نظر ثانی: 1 - 19 اپریل 2024
- مطلوبہ الفاظ: چہرے کی شناخت، LVGL GUI، فریم ورک
مصنوعات کے استعمال کی ہدایات
- ختمview
یہ پروڈکٹ ایک سادہ LVGL GUI سابق کے ساتھ چہرے کی شناخت کے فنکشن کو لاگو کرنے کے لیے فریم ورک پر چہرے کی شناخت کے لیے AI&ML وژن الگورتھم ماڈل کو قابل بناتا ہے۔ampSLN-TLHMI-IOT بورڈ پر۔ - فریم ورک ختمview
حل سافٹ ویئر کو فریم ورک آرکیٹیکچر کے ارد گرد ڈیزائن کیا گیا ہے جس میں ڈیوائسز کے انتظام کے ذمہ دار ڈیوائس مینیجر، بنیادی تفصیلات کو خلاصہ کرنے کے لیے HAL ڈیوائسز، اور مختلف آلات کے درمیان مواصلت کے لیے ایونٹس شامل ہیں۔ - خصوصیات
پروڈکٹ کیمرہ پری کے ذریعے چہرے کی شناخت کے فنکشن کو نافذ کرنے کی اجازت دیتا ہے۔view چہرے کی رجسٹریشن، شناخت اور ہٹانے کو متحرک کرنے کے لیے بٹنوں کے ساتھ GUI اسکرین پر۔ رجسٹرڈ چہرے کا ڈیٹا فلیش پر a کے ذریعے محفوظ کیا جاتا ہے۔ file نظام - درخواست نوٹ کا مواد
ایپلیکیشن نوٹ کیمرہ پری کے ساتھ LVGL GUI اسکرین پیش کرتا ہے۔view اور چہرے سے متعلق کارروائیوں کے لیے بٹن۔ یہ ڈویلپرز کو فریم ورک کو سمجھنے میں مدد کرتا ہے اور فراہم کردہ سابق کا استعمال کرتے ہوئے چہرے کی شناخت کو کیسے نافذ کیا جائے۔ample
ختمview
NXP نے SLN-TLHMI-IOT کے نام سے ایک حل ڈیولپمنٹ کٹ شروع کی ہے جو سمارٹ HMI ایپلی کیشنز پر مرکوز ہے۔ یہ ایک NXP i.MX RT117H MCU پر ML وژن، آواز، اور گرافکس UI کے ساتھ سمارٹ HMI کو قابل بناتا ہے۔ SDK کی بنیاد پر، حل سافٹ ویئر ایک ایسے ڈیزائن پر بنایا گیا ہے جسے فریم ورک کہا جاتا ہے جو لچکدار ڈیزائن اور وژن اور آواز کے افعال کی تخصیص کی حمایت کرتا ہے۔ سافٹ ویئر پلیٹ فارم کو بہتر طریقے سے استعمال کرنے میں صارفین کی مدد کرنے کے لیے، کچھ بنیادی دستاویزات فراہم کی جاتی ہیں، مثال کے طور پرampلی، سافٹ ویئر ڈویلپمنٹ صارف گائیڈ۔ گائیڈ ایپلی کیشنز کے بنیادی سافٹ ویئر ڈیزائن اور فن تعمیر کو متعارف کراتی ہے جس میں حل کے تمام اجزاء کا احاطہ کیا گیا ہے جس میں فریم ورک شامل ہے تاکہ ڈویلپرز کو SLN-TLHMI-IOT کا استعمال کرتے ہوئے اپنی ایپلی کیشنز کو زیادہ آسانی اور مؤثر طریقے سے لاگو کرنے میں مدد ملے۔
حل اور متعلقہ دستاویزات کے بارے میں مزید تفصیلات کے لیے، ملاحظہ کریں۔ web ML ویژن، وائس، اور گرافیکل UI کے ساتھ i.MX RT117H پر مبنی NXP EdgeReady Smart HMI سلوشن کا صفحہ۔ تاہم، ڈویلپرز کے لیے ان بنیادی گائیڈز کا حوالہ دیتے ہوئے اپنی سمارٹ HMI ایپلیکیشنز کو لاگو کرنا اب بھی اتنا آسان نہیں ہے۔ فریم ورک پر مرحلہ وار ترقی کا مطالعہ کرنے میں مدد کے لیے ایپلیکیشن نوٹس کی ایک سیریز کا منصوبہ بنایا گیا ہے۔ یہ ایپلیکیشن نوٹ ایمپلیمنٹ LVGL GUI کیمرہ پری پر مبنی ہے۔view فریم ورک پر (دستاویز AN14147)۔ یہ ایپلیکیشن نوٹ بیان کرتا ہے کہ کیمرہ پری کے ذریعے چہرے کی شناخت کے فنکشن کو لاگو کرنے کے لیے فریم ورک پر چہرے کی شناخت کے لیے AI&ML وژن الگورتھم ماڈل کو کیسے فعال کیا جائے۔view GUI اسکرین پر ایک سادہ LVGL GUI سابق کے ساتھampSLN-TLHMI-IOT بورڈ پر۔ درخواست نوٹ میں سابقample کیمرہ پری کے ساتھ LVGL GUI اسکرین پیش کرتا ہے۔view اور چہرے کی رجسٹریشن، شناخت اور ہٹانے کو متحرک کرنے کے لیے کچھ بٹن۔ رجسٹرڈ چہرے کا ڈیٹا تھوڑا سا فلیش پر محفوظ کیا جاتا ہے۔ file نظام
اعلی سطح پر، درخواست کے نوٹ میں مندرجہ ذیل مواد شامل ہیں:
- فریم ورک پر چہرے کی شناخت کی خصوصیت کو فعال کریں۔
- کے ذریعے فریم ورک پر چہرہ ڈیٹا بیس سپورٹ شامل کریں۔ file فلیش پر سسٹم۔
- LVGL GUI ایپ کو لاگو کریں۔ مندرجہ بالا تعارف کے ذریعے، یہ دستاویز ڈویلپرز کی مدد کرتی ہے:
- فریم ورک اور سمارٹ HMI حل سافٹ ویئر کو مزید گہرائی سے سمجھیں۔
- LVGL GUI ایپ کے ساتھ فریم ورک پر ان کے AI اور ML چہرے کی شناخت تیار کریں۔
فریم ورک ختمview
حل سافٹ ویئر بنیادی طور پر فریم ورک فن تعمیر کے استعمال کے ارد گرد ڈیزائن کیا گیا ہے جو کئی مختلف حصوں پر مشتمل ہے:
- ڈیوائس مینیجرز - بنیادی حصہ
- ہارڈ ویئر ایبسٹریکشن لیئر (HAL) ڈیوائسز
- پیغامات/ واقعات
جیسا کہ شکل 1 میں دکھایا گیا ہے، اوورview فریم ورک کے طریقہ کار کا یہ ہے:
ڈیوائس مینیجرز سسٹم کے ذریعے استعمال ہونے والے آلات کے انتظام کے ذمہ دار ہیں۔ ہر ڈیوائس کی قسم (ان پٹ، آؤٹ پٹ، اور اسی طرح) کا اپنا مخصوص ڈیوائس مینیجر ہوتا ہے۔ ڈیوائسز کے رجسٹر ہونے کے بعد شروع ہونے والے ڈیوائس مینیجر کے ساتھ، یہ رجسٹرڈ ڈیوائسز کو شروع کرنے اور شروع کرنے کے بعد ڈیوائسز اور دوسرے مینیجرز کو ڈیٹا کی منتقلی کے لیے پیغام کا انتظار کرتا ہے اور چیک کرتا ہے۔ HAL ڈیوائسز نچلے درجے کے ڈرائیور کوڈ کے اوپر لکھی جاتی ہیں، بہت سی بنیادی تفصیلات کو خلاصہ کرکے کوڈ کی سمجھ کو بڑھانے میں مدد کرتی ہیں۔
واقعات ایک ایسا ذریعہ ہیں جس کے ذریعے مختلف آلات کے درمیان ان کے مینیجرز کے ذریعے معلومات کا تبادلہ کیا جاتا ہے۔ جب کوئی ایونٹ ٹرگر ہوتا ہے، تو وہ ڈیوائس جس نے پہلے ایونٹ کو موصول کیا وہ اس ایونٹ کو اپنے مینیجر کو بتاتا ہے، پھر اس کے نتیجے میں یہ ایونٹ وصول کرنے کے لیے نامزد دیگر مینیجرز کو مطلع کرتا ہے۔
فریم ورک کا آرکیٹیکچرل ڈیزائن تین بنیادی اہداف پر مرکوز تھا:
- استعمال میں آسانی
- لچکدار / پورٹیبلٹی
- کارکردگی
فریم ورک کو وژن اور دیگر مشین لرننگ ایپلی کیشنز کے لیے مارکیٹ کرنے کے لیے وقت کو تیز کرنے کے ہدف کے ساتھ ڈیزائن کیا گیا ہے۔ مارکیٹ کے لیے تیز رفتار وقت کو یقینی بنانے کے لیے، یہ ضروری ہے کہ سافٹ ویئر خود کو سمجھنا اور اس میں ترمیم کرنا آسان ہو۔ اس مقصد کو ذہن میں رکھتے ہوئے، فریم ورک کے فن تعمیر کو محدود کیے بغیر، اور کارکردگی کی قیمت پر آئے بغیر ترمیم کرنا آسان ہے۔
فریم ورک کے بارے میں مزید تفصیلات کے لیے، Smart HMI سافٹ ویئر ڈویلپمنٹ یوزر گائیڈ (دستاویز MCU-SMHMI-SDUG) دیکھیں۔
لائٹ اینڈ ورسٹائل گرافکس لائبریری (LVGL)
LVGL (لائٹ اور ورسٹائل گرافکس لائبریری) ایک مفت اور اوپن سورس گرافکس لائبریری ہے جو آپ کو استعمال میں آسان گرافیکل عناصر، خوبصورت بصری اثرات اور کم میموری فوٹ پرنٹ کے ساتھ ایمبیڈڈ GUI بنانے کے لیے درکار ہر چیز فراہم کرتی ہے۔
GUI گائیڈر
GUI گائیڈر NXP کا صارف دوست گرافیکل یوزر انٹرفیس ڈویلپمنٹ ٹول ہے جو اوپن سورس LVGL گرافکس لائبریری کے ساتھ اعلیٰ معیار کے ڈسپلے کی تیزی سے ترقی کو قابل بناتا ہے۔ GUI گائیڈر کا ڈریگ اینڈ ڈراپ ایڈیٹر LVGL کی بہت سی خصوصیات کو استعمال کرنا آسان بناتا ہے جیسے ویجیٹس، اینیمیشنز اور اسٹائلز کو کم سے کم یا بغیر کوڈنگ کے GUI بنانے کے لیے۔
ایک بٹن کے کلک سے، آپ اپنی ایپلیکیشن کو نقلی ماحول میں چلا سکتے ہیں یا اسے کسی ہدف والے پروجیکٹ میں ایکسپورٹ کر سکتے ہیں۔ GUI گائیڈر سے تیار کردہ کوڈ کو آسانی سے آپ کے پروجیکٹ میں شامل کیا جا سکتا ہے، جس سے ترقی کے عمل کو تیز کیا جا سکتا ہے اور آپ کو بغیر کسی رکاوٹ کے اپنی ایپلیکیشن میں ایمبیڈڈ یوزر انٹرفیس شامل کرنے کی اجازت دیتا ہے۔ GUI گائیڈر NXP کے عمومی مقصد اور کراس اوور MCUs کے ساتھ استعمال کرنے کے لیے آزاد ہے اور اس میں کئی معاون پلیٹ فارمز کے لیے بلٹ ان پروجیکٹ ٹیمپلیٹس شامل ہیں۔ GUI گائیڈر پر LVGL اور GUI کی ترقی کے بارے میں مزید جاننے کے لیے، لائٹ اور ورسٹائل گرافکس لائبریری اور GUI گائیڈر کو چیک کریں۔
ترقی کا ماحول
پہلے، سابق کو لاگو کرنے کے لیے ہارڈ ویئر اور سافٹ ویئر کا ماحول تیار اور ترتیب دیں۔ampفریم ورک پر.
ہارڈ ویئر ماحول
ہارڈ ویئر ماحول سابق کی تصدیق کے لیے ترتیب دیا گیا ہے۔ampلی:
- NXP i.MX RT117H پر مبنی سمارٹ HMI ڈویلپمنٹ کٹ (SLN_TLHMI_IOT کٹ)
- SEGGER J-Link 9-pin Cortex-M اڈاپٹر اور V7.84a یا ڈرائیور کے نئے ورژن کے ساتھ
سافٹ ویئر ماحول۔
سافٹ ویئر کا ماحول سابق کی ترقی کے لیے ترتیب دیا گیا ہے۔ampلی:
- MCUXpresso IDE V11.7.0
- GUI گائیڈر V1.6.1-GA
- lvgl_gui_camera_preview_cm7 - سابقampترقی کے بنیادی سافٹ ویئر کے طور پر دوسرے ایپلیکیشن نوٹ کا le کوڈ۔ تفصیلات کے لیے دیکھیں https://mcuxpresso.nxp.com/appcodehub.
- RT1170 SDK V2.13.0 – ترقی کے لیے کوڈ کے وسائل کے طور پر۔
- SLN-TLHMI-IOT سافٹ ویئر V1.1.2 - سمارٹ HMI سورس کوڈ NXP GitHub ریپوزٹری پر ترقی کے کوڈ وسائل کے طور پر جاری کیا گیا ہے۔ تفصیلات کے لیے دیکھیں: GitHub – NXP/mcu-smhmi v1.1.2 پر
سافٹ ویئر ماحول کے حصول اور سیٹ اپ کے بارے میں تفصیلات کے لیے، دیکھیں: SLN-TLHMI-IOT کے ساتھ شروعات کرنا۔
فریم ورک پر وژن فن تعمیر
فریم ورک پر وژن فن تعمیر کو شکل 2 میں دکھایا گیا ہے۔ وژن الگو HAL (OASIS_HAL) میں درج ذیل عمل ہیں:
- آؤٹ پٹ UI HAL سے متعلقہ واقعات حاصل کرنے کے بعد AI&ML وژن الگورتھم ماڈل کے ذریعے چہرے کی رجسٹریشن اور شناخت کریں۔ الگورتھم ماڈل سے آؤٹ پٹ UI HAL تک تخمینہ کے نتائج کو مطلع کریں۔
- چھوٹی کی بنیاد پر چہرے کی خصوصیت کے ڈیٹا بیس تک رسائی (شامل کریں، حذف کریں...) file آؤٹ پٹ UI HAL سے متعلقہ واقعات موصول ہونے کے بعد FaceDB HAL کے APIs کو کال کرکے سسٹم۔
- چہرے کی رجسٹریشن اور شناخت کرتے وقت کیمرہ HAL سے کیمرہ ویڈیو فریم کی درخواست کریں۔
فریم ورک پر چہرے کی شناخت کو لاگو کریں۔
LVGL GUI چہرے کی شناخت سابقample (سابقample بعد میں فراہم کی جاتی ہے) سابق کی بنیاد پر فریم ورک پر لاگو کیا جاتا ہے۔ampLVGL GUI کیمرہ پری کو لاگو کرنے کے le کوڈزview فریم ورک پر (دستاویز AN14147)۔
سابق میں چہرے کی شناخت کا مظاہرہ کرنے کے لیےampلی، GUI ایپ کا بنیادی فنکشن (شکل 3 میں مرکزی سکرین دیکھیں) کو ڈیزائن کیا گیا ہے جیسا کہ ذیل میں بیان کیا گیا ہے:
- GUI ایپ رجسٹریشن یا ریکگنیشن بٹن پر کلک کرنے پر چہرے کی رجسٹریشن یا شناختی ایونٹ کو آؤٹ پٹ UI HAL پر متحرک کرتی ہے۔ اور آؤٹ پٹ UI HAL چہرے کی رجسٹریشن کے کامیاب ہونے کے بعد صارف کو وژن algo HAL میں شامل کرنے کے واقعہ کی اطلاع دیتا ہے۔
- GUI ایپ صارف کے چہرے کی شناخت کے بعد صارف کو حذف کریں بٹن پر کلک کرنے پر آؤٹ پٹ UI HAL سے صارف کو حذف کرنے کے واقعہ کو متحرک کرتی ہے۔
- GUI ایپ بٹنوں اور تصاویر کے باہر اسکرین پر کلک کرنے پر آؤٹ پٹ UI HAL پر چلنے والے نخلستان الگو کو روکنے کے واقعے کو متحرک کرتی ہے۔
سابق کے نفاذ کے لیے سافٹ ویئر پیکج تیار کریں۔ample
- بیس سافٹ ویئر lvgl_gui_camera_pre کلون کریں۔view_cm7. پروجیکٹ کا نام اور مین تبدیل کریں۔ filelvgl_gui_face_rec_cm7 کا نام۔
- سافٹ ویئر میں فریم ورک کو اپ ڈیٹ کرنے کی ضرورت ہے کیونکہ فریم ورک کور کے سورس کوڈز ورژن 1.1.2 سے GitHub پر عوامی ہونا شروع ہو گئے ہیں۔
- فریم ورک فولڈر کو GitHub سے V1.1.2 کی کاپی کے ساتھ تبدیل کریں۔ files fwk_log.h اور fwk_common.h inc\ کے تحت کیونکہ ان میں ایپلیکیشن نوٹ کی سیریز کے لیے ترمیم کی گئی ہے۔ آپریشنز کو شکل 4 میں دکھایا گیا ہے:
- libs گروپ کے تحت فولڈر فریم ورک_cm7 کو حذف کریں اور لائبریری فریم ورک_cm7 کو ہٹا دیں اور پروجیکٹ > پراپرٹیز > C/C++ بلڈ > سیٹنگز > ٹول سیٹنگز > MCU C++ Linker > Libraries میں کنفیگر کیا گیا ہے کیونکہ کور کا سورس کوڈ فراہم کیا گیا ہے۔
فریم ورک پر چہرے کی شناخت کی خصوصیت کو فعال کریں۔
چہرے کی شناخت کی خصوصیت ML وژن الگورتھم ماڈل پر بنائی گئی ہے جو ایک جامد لائبریری کے طور پر فراہم کی گئی ہے - NXP کی طرف سے ایک نخلستان لائٹ رن ٹائم لائبریری۔ لائبریری ایک چھوٹی، انتہائی موثر، اپنی مرضی کے مطابق، اور آپٹمائزڈ AI لائبریری ہے۔ ماڈل میں چہرے کا پتہ لگانا، چہرے کی شناخت، شیشے کا پتہ لگانا، اور زندہ دلی کا پتہ لگانا شامل ہے۔ یہ بنیادی طور پر API OASISLT_run_extended() کو ایونٹ کال بیکس کے ذریعے کال کرنے والے کو نتائج کو اپ ڈیٹ کرنے کے دوران چہرے کی شناخت کرنے والی پائپ لائن کو چلانے کے لیے فراہم کرتا ہے، اور ماخذ فریم کی معلومات، کال بیکس، اور میموری کی وضاحت کرنے کے بعد فیس ڈیٹا بیس کال بیکس کے ذریعے ڈیٹا بیس میں چہروں کو شامل/اپ ڈیٹ/ڈیلیٹ کرتا ہے۔ لائبریری کے ذریعہ استعمال کیا گیا پول ایک اور API OASISLT_init() کو شروع کرنے پر کال کرکے۔ APIs کی کالنگ اور کال بیک فنکشنز فریم ورک کے وژن الگو HAL میں لاگو ہوتے ہیں۔
وژن الگو ماڈل لائبریری شامل کریں۔
- لائبریری اور متعلقہ ہیڈر پر مشتمل فولڈر نخلستان کو کاپی کریں۔ file smart HMI\coffee_machine\cm7\libs\ سے سابق کے فولڈر libs میںampلی ایس ڈبلیو
- ہیڈر کی تلاش کا راستہ شامل کریں۔ file پروجیکٹ > پراپرٹیز > C/C++ بلڈ > سیٹنگز > ٹول سیٹنگز > MCU C کمپائلر > انکلوڈز اور MCU C++ کمپائلر > شامل ہیں: "${workspace_loc:/${ProjName}/libs/oasis/include}"
- lib اور اس کی تلاش کا راستہ پروجیکٹ > پراپرٹیز > C/C++ Build > settings > MCU C++ Linker > Libraries: liboasis_lite2D_DEFAULT_117f_ae.a "${workspace_loc:/${ProjName}/libs/oasis}" اور میکرو کی تعریف پر شامل کریں۔ پروجیکٹ > پراپرٹیز > C/C++ بلڈ > سیٹنگز > ٹول سیٹنگز > MCU C کمپائلر > پری پروسیسر اور MCU C++ کمپائلر > پری پروسیسر: SMART_TLHMI_2D پر فیچر کو فعال کریں۔
وژن الگو HAL کو فعال کریں۔
وژن الگو HAL وژن الگو ماڈل کو کام کرنے کے لیے چلاتا ہے اور UI آؤٹ پٹ HAL سے واقعات حاصل کرنے کے بعد نتائج کا جواب دیتا ہے۔
اسے فعال کرنے کے لیے، اسی طرح کے HAL ڈرائیور کو کلون کریں۔ file جہاں ذیل کے افعال کو لاگو کیا جاتا ہے:
- فیس ڈیٹا بیس آپریشنز اور ایونٹس ہینڈلنگ کے کال بیکس کو لاگو کریں۔
- نخلستان لائبریری کے APIs کو کال کرکے وژن الگو کو کام کرنے کے لیے چلائیں۔
- صارف کے چہرے کے ڈیٹا بیس اور ایپ ڈیٹا بیس تک رسائی حاصل کریں (سابق میں اس کی ضرورت نہیں ہے۔ampلی).
- سے واقعات وصول کریں اور نتائج UI HAL کو بھیجیں۔
سابق کے لیے HAL کو نافذ کرنے کے لیے اہم کامample ہیں:
- اسی طرح کے HAL ڈرائیور کو کلون کریں۔ file اور متعلقہ نام تبدیل کریں۔
- ایپ ڈیٹا آپریشنز سے متعلق کوڈز کو ہٹا دیں۔
- آؤٹ پٹ UI HAL سے ایونٹس کو سنبھالنے کے لیے تعریفیں اور فنکشنز کو اپ ڈیٹ کریں۔ampلی ڈیزائن.
- نخلستان کے آغاز میں مطلوبہ کنفیگریشنز شامل کریں۔
تفصیلی اقدامات درج ذیل ہیں:
- کلون hal_vision_algo_oasis_coffeemachine.c. تبدیل کریں filehal_vision_algo_oasis_guifacerec.c کا نام اور تمام سٹرنگز CoffeeMachine کو GUIFaceRec سے تبدیل کریں۔ file.
- ایپ ڈیٹا بیس سے متعلق سٹرنگ coffeedb (کیس حساس نہیں) پر مشتمل کوڈز کو ہٹا دیں، سابق کے لیےample, #include hal_sln_coffeedb.h.
- آؤٹ پٹ UI HAL سے ایونٹس کو سنبھالنے کے لیے فنکشن HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify() میں ترمیم کریں۔
- ایونٹ کی تعریف kEventFaceRecId_RegisterCoffeeSelection کو kEventFaceRecId_RegisterUserFace اور اسٹرکچر سٹرنگ regCoffeeSelection کو regGUIFaceRec میں تبدیل کر کے ایونٹ ہینڈلنگ کے لیے ڈیٹا بیس میں نئے چہرے کی خصوصیت کا ڈیٹا شامل کریں۔
- سابق میں چہرے کی شناخت کی کارروائیوں کے معیاری عمل کو دکھانے کے لیےample، ریاستوں کی تعریف کے ساتھ kEventFaceRecID_OasisSetState کے معاملے میں ہینڈلنگ میں ترمیم کریں:
- kOASISLIteState
- رجسٹریشن kOASISLIteState
- شناخت kOASISLIteState
- رک گیا۔
- مندرجہ بالا مرحلے میں بیان کردہ واقعات کی تعریفیں شامل کریں اور ان میں ترمیم کریں۔
- ہیڈر کاپی کریں۔ file smart_tlhmi_event_descriptor.h smart HMI\coffee_machine \cm7\source\event_handlers\ سے سابق کے فولڈر سورس میںampلی ایس ڈبلیو اپ ڈیٹ کریں۔ file جیسا کہ ذیل میں:
- ایونٹ کی تعریف kEventFaceRecId_RegisterCoffeeSelection کو enum قسم _event_smart_tlhmi_id میں kEventFaceRecId_RegisterUserFace اور ساخت سٹرنگ regCoffeeSelection کو struct _event_smart_smart میں regGUIFaceRec میں تبدیل کریں۔ لہذا، regCoffeeSelection کے لیے struct register_coffee_selection_event_t کو register_gui_facerec_event_t میں تبدیل کریں۔
- کافی مشین ایپ کے لیے استعمال ہونے والے دیگر مشمولات کو حذف کریں۔ample، آواز کے بارے میں کوڈ لائن: #include "hal_event_descriptor_voice.h"۔
- ذیل میں پروجیکٹ میں فریم ورک>hal>وژن کے تحت hal_vision_algo.h میں enum قسم oasis_lite_state_t میں kOASISLiteState_Stopped اور kOASISLiteState_Running کی اقسام شامل کریں:
typedef enum _oasis_lite_state {- kOASISLIteState
- چل رہا ہے، kOASISLIteState
- روک دیا گیا، kOASISLIteState
- پہچان،
- kOASISLIteState
- رجسٹریشن، kOASISLIteState
- ڈی رجسٹریشن، kOASISLIteState
- ریموٹ رجسٹریشن، kOASISLIteState
- شمار
- hal_event_descriptor_face_rec.h میں struct oasis_state_event_t کو بہتر بنانے کے لیے مندرجہ بالا اپ ڈیٹ کردہ struct oasis_lite_state_t کا استعمال کریں فریم ورک>hal> وژن کے تحت ذیل میں پروجیکٹ میں: typedef struct _oasis_state_event_t { oasis_lite_state_t state; } oasis_state_event_t;
- تمام kEventInfo_Remote کو kEventInfo_Local میں تبدیل کریں تاکہ وژن الگو HAL سے دیگر HALs کو ایک ہی کور پر چلنے والے ایونٹس کو بھیجنے کے لئے kEventInfo_Local میں ڈوئل کور کے بجائے سنگل کور استعمال کیا جاتا ہے۔ample
- OASISLT_init() میں نخلستان کی ابتدا کے لیے درج ذیل کنفیگریشنز کو شامل کریں اور ان میں ترمیم کریں:
- board_define.h: #define OASIS_RGB_FRAME_WIDTH 800 میں ویڈیو فریم کے لیے میکرو ڈیفینیشنز اور میموری سیکشنز شامل کریں۔
- #OASIS_RGB_FRAME_HEIGHT 600 کی وضاحت کریں۔
- #OASIS_RGB_FRAME_SRC_FORMAT kPixelFormat_YUV1P444_RGB کی وضاحت کریں
- #OASIS_RGB_FRAME_BYTE_PER_PIXEL 3 کی وضاحت کریں۔
- AT_FB_SHMEM_SECTION_ALIGN(var، alignbytes) کی وضاحت کریں \
- __attribute__((section(“.bss.$fb_sh_mem,\"aw\",%nobits @"))) var
- __انتساب__((سیدھ میں کیا گیا (سیدھ بائٹ)))
- میموری اسائنمنٹ کو اوپر والے میموری سیکشن fb_sh_mem پر پروجیکٹ > پراپرٹیز > C/C++ Build > MCU سیٹنگ میں ترتیب دیں جو شکل 5 میں دکھائی گئی ہے:
- lvgl_gui_face_rec_cm7.cpp: AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf[DTC_OPTIMIZE_BUFFER_SIZE]، 4) میں عالمی متغیر g_DTCOPBuf کا اعلان
- مندرجہ بالا متغیر میں استعمال شدہ تعریفیں شامل کرنا جاری رکھیں:
- board_define.h میں اوپر والے حصے کی وضاحت کریں:
- AT_NONCACHEABLE_SECTION_ALIGN_DTC(var، alignbytes) کی وضاحت کریں \
- وصف__((سیکشن(“.bss.$SRAM_DTC_cm7,\”aw\”,%nobits@”))) var
- انتساب__((سیدھ میں کیا گیا)))
- ہیڈر شامل کریں۔ file hal_vision_algo.h جس میں app_config.h میں میکرو ڈیفینیشن DTC_OPTIMIZE_BUFFER_SIZE شامل ہے lvgl_gui_face_rec_cm7.cpp میں شامل ہے۔
- board_define.h: #define OASIS_RGB_FRAME_WIDTH 800 میں ویڈیو فریم کے لیے میکرو ڈیفینیشنز اور میموری سیکشنز شامل کریں۔
- چہرے کی شناخت پر پیشرفت کی صورتحال دکھانے کے لیے متغیر s_debugOption کو درست پر سیٹ کریں۔
- ہیڈر کی تلاش کا راستہ شامل کریں۔ fileپروجیکٹ > پراپرٹیز > C/C++ بلڈ > سیٹنگز > ٹول سیٹنگز > MCU C کمپائلر > انکلوڈز اور MCU C++ کمپائلر > شامل ہیں: "${workspace_loc:/${ProjName}/framework/hal/vision}" پر وژن HAL کے s
- board_define.h میں وژن الگو HAL کو فعال کرنے کے لیے درج ذیل تعریف شامل کریں: #define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec
آؤٹ پٹ UI HAL کو فعال کریں۔
آؤٹ پٹ UI HAL واقعات کو وژن algo HAL کو مطلع کرتا ہے اور وژن الگو HAL سے حاصل ہونے والے نتائج کا جواب دیتا ہے۔ GUI ایپ کے ساتھ، واقعات عام طور پر ایپ کے ذریعے متحرک ہوتے ہیں اور نتائج ایپ پر دکھائے جاتے ہیں۔
اسے فعال کرنے کے لیے، اسی طرح کے HAL ڈرائیور کو کلون کریں۔ file جہاں عام طور پر درج ذیل افعال کو نافذ کیا جاتا ہے:
- چہرے کی شناخت اور ڈیٹا بیس تک رسائی کے لیے واقعات کو مطلع کریں۔
- واقعات کو متحرک کرنے کے لیے GUI ایپ کے لیے کال بیکس کو لاگو کریں۔
- وژن الگو ماڈیول سے نتائج کو ہینڈل کریں۔
- ٹائمرز اور چہرہ گائیڈ مستطیل کے ساتھ کنٹرول شدہ پروگریس بار کے ذریعے UI پر ہینڈلنگ کے واقعات کے عمل اور نتائج دکھائیں۔
سابق کے لیے HAL کو نافذ کرنے کے لیے اہم کامampاس دستاویز میں استعمال شدہ le ہیں:
- اسی طرح کے HAL ڈرائیور کو کلون کریں۔ file اور متعلقہ نام تبدیل کریں۔
- ایپ سے متعلق کوڈز کو ہٹا دیں۔
- واقعات کی اطلاع اور نتائج کے جواب کے لیے فنکشنز کو اپ ڈیٹ کریں۔ampلی ڈیزائن.
- واقعات کو متحرک کرنے کے لیے GUI ایپ کے لیے کال بیکس شامل کریں۔
تفصیلی اقدامات درج ذیل ہیں:
- کلون hal_output_ui_coffee_machine.c. تبدیل کریں filehal_output_ui_guifacerec.c کا نام
- میں تمام سٹرنگز CoffeeMachine کو GUIFaceRec سے تبدیل کریں۔ file.
- ایپ - کافی مشین سے متعلق کوڈز کو ہٹا دیں۔
- فنکشنز WakeUp() اور _StandBy() اور متعلقہ کوڈز کو ہٹا دیں (ان کے لیے سٹرنگ wake_up اور اسٹینڈ بائی کو تلاش کر سکتے ہیں)۔
- پری کو ہٹا دیں۔view HAL_OutputDev_UiGUIFaceRec_Input Notify() میں متعلقہ کوڈ ہینڈل کرنے والے موڈ ایونٹس۔
- فنکشنز UI_xxx_Callback() اور کافی مشین کے GUI سے متعلق سٹرنگ gui_ اور اسکرین پر مشتمل کوڈز کو ہٹا دیں سوائے gui_set_virtual_face() کے لیےview موڈ کی خصوصیت.
- کافی مشین ایپ سے متعلق متغیر s_IsWaitingAnotherSelection اور s_IsWaitingRegisterSelection کے ساتھ شامل تمام کوڈز کو ہٹا دیں۔
- آواز، آڈیو اور زبان سے متعلق کوڈز کو ہٹا دیں۔ سابق کے لیےampلی:
- # "hal_voice_algo_asr_local.h" شامل کریں،
- # "hal_event_descriptor_voice.h" شامل کریں
- مختلف واقعات کی اطلاع کے لیے، نئے فنکشنز _OutputManagerNotify()، _SetFaceRec()، _RegisterGUIFaceRec()، اور DeregisterGUIFaceRec() کو لاگو کریں جو فنکشنز _StopFaceRec()، _RegisterCoffeeSelection()، اور DeregisterCoffee(DeregisterCoffee)کا حوالہ دیتے ہیں۔
- _OutputManagerNotify() وژن الگو HAL کو ایونٹ بھیجنے کے لیے بنیادی ایونٹ آؤٹ پٹ فنکشن کو لاگو کرتا ہے۔ ذیل کے فنکشنز اسے اپنے ایونٹس بھیجنے کے لیے کہتے ہیں۔
- _SetFaceRec() ایونٹ کو بھیجتا ہے kEventFaceRecID_OasisSetState چہرے کے اندراج، شناخت اور الگو کو روکنے کے لیے وژن الگو کو متحرک کرنے کے لیے۔
- رجسٹریشن ٹھیک ہونے پر _RegisterGUIFaceRec() ایونٹ kEventFaceRecId_RegisterGUIFaceRec بھیجتا ہے جس کی وضاحت smart_tlhmi_event_descriptor.h میں کی گئی ہے تاکہ ڈیٹا بیس میں چہرے کی خصوصیت کا ڈیٹا شامل کیا جا سکے۔
- DeregisterGUIFaceRec() ایونٹ kEventFaceRecID_DelUser بھیجتا ہے تاکہ چہرے کی شناخت کو پاس کرتے وقت ڈیٹا بیس سے چہرے کی خصوصیت کا ڈیٹا حذف کر سکے۔
- متعلقہ کارروائیاں کرنے کے لیے کوڈز کو اپ ڈیٹ کریں بشمول LVGL GUI ایپ سے APIs کو کال کرکے _InferComplete_Vision() فنکشن میں چہرے کی رجسٹریشن اور شناخت کے نتائج کے لیےampلی کے ڈیزائن. سابق کے لیےample، جب چہرے کی رجسٹریشن کامیاب ہو جاتی ہے،
- _FaceRecProcess_Stop() پر کال کرکے پیشرفت دکھانا بند کریں۔
- _SetFaceRec(kOASISLiteState_Stopped) پر کال کرکے چہرے کی رجسٹریشن کو روکیں۔
- GUI پر کامیاب نتیجہ دکھائیں: gui_show_face_rec_result(kFaceRecResult_OK, s_UserId)؛
- ڈیٹا بیس میں چہرے کا ڈیٹا رجسٹر کریں: _RegisterUserFace(s_UserId)؛
- واقعات کو سنبھالنے کے لیے UI کال بیک فنکشنز شامل کریں: preview، چہرے کی رجسٹریشن، شناخت، اور GUI سے متحرک صارف کو حذف کرنا۔ سابق کے لیےample، چہرہ رجسٹریشن کال بیک: void UI_Registration_Callback(){ _SetFaceRec(kOASISLiteState_Registration)؛ _FaceRecProcess_Start(); }
- اور فنکشنز _FaceRecProcess_Start() اور _FaceRecProcess_Stop() شامل کریں تاکہ مختلف واقعات اور نتائج میں پیشرفت اور حیثیت کو ظاہر کیا جا سکے۔
- ٹائمر ISR کال بیک فنکشن _SessionTimer_Callback() کو کال کرکے ٹائم آؤٹ کے معاملے کو سنبھالنے کے لیے اپ ڈیٹ کریں: gui_show_face_rec_result(kFaceRecResult_TimeOut, s_UserId);
- board_define.h میں UI آؤٹ پٹ HAL کو فعال کرنے کے لیے درج ذیل تعریفیں شامل کریں: #define ENABLE_OUTPUT_DEV_UiGUIFaceRec
نوٹس:
چہرے کی شناخت کی خصوصیت کو بہتر طور پر پیش کرنے کے لیے، آؤٹ پٹ UI HAL میں چہرے کی شناخت کے عمل اور نتائج کو دکھانے کے لیے فنکشن رکھیں۔ فنکشن کو ذیل میں بیان کیا گیا ہے۔
- چہرہ گائیڈ مستطیل نیلے رنگ کو دکھاتا ہے، اور پروگریس بار چہرے کی رجسٹریشن یا شناخت شروع کرتے وقت پیشرفت دکھاتا ہے۔
- چہرے کی رجسٹریشن کامیاب ہونے پر چہرہ گائیڈ مستطیل سرخ دکھاتا ہے۔
- چہرے کی شناخت کے کامیاب ہونے پر چہرہ گائیڈ مستطیل سبز دکھاتا ہے۔
- چہرہ گائیڈ مستطیل نیلا رکھتا ہے، اور ٹائمر کی میعاد ختم ہونے کے بعد کارروائی کے ناکام ہونے پر پروگریس بار مکمل پیشرفت دکھاتا ہے۔ اس وقت، چہرے کی رجسٹریشن یا شناخت کو روک دیں۔
پروگریس بار اور فیس گائیڈ مستطیل کو آئیکنز کے طور پر پیش کیا جاتا ہے جو ریسورس بائنری میں بنائے گئے ہیں۔ file فلیش میں پروگرام کرنے کے لیے۔ SDRAM پر آئیکنز کے ڈیٹا کی طرف اشارہ کرنے والے فنکشن LoadIcons(APP_ICONS_BASE) میں ترتیب دیئے گئے ہیں جسے آؤٹ پٹ UI HAL میں آؤٹ پٹ UI HAL ڈیوائس کی ابتداء پر کہا جاتا ہے۔ اسے فنکشن کے لیے شبیہیں کی حمایت کو نافذ کرنا چاہیے۔
شبیہیں کی حمایت کو لاگو کریں۔
- LVGL GUI ایپ میں استعمال ہونے والی تصاویر کے ساتھ آئیکنز کو ملا کر وسیلہ بنائیں:
- چار آئیکن ہیڈر کو کلون کریں۔ files process_bar_240x14.h، virtual_face_blue_420x426.h، virtual_face_green_420x426.h، اور virtual_face_red_420x426.h اسمارٹ HMI سے
\coffee machine\resource\icons\ نئے فولڈر کی شبیہیں میں سابق کے وسائل فولڈر کے نیچےampلی ایس ڈبلیو - چار آئیکن کے لیے تلاش کا راستہ شامل کریں۔ fileکیمرہ_پری میں ہے۔view_resource.txt file ریسورس فولڈر میں، مثال کے طور پرample: icon ../resource/icons/process_bar_240x14.h
- کیمرہ_پری ایگزیکٹ کریں۔view_resource_build.bat بِن تیار کرنے کے لیے تصاویر اور شبیہیں کے وسائل بنانے کے لیے file camera_preview_resource.bin اور معلومات file resource_information_table.txt (تصویر 6 دیکھیں)۔
- چار آئیکن ہیڈر کو کلون کریں۔ files process_bar_240x14.h، virtual_face_blue_420x426.h، virtual_face_green_420x426.h، اور virtual_face_red_420x426.h اسمارٹ HMI سے
- SDRAM پر شروع کا پتہ اور app_config.h میں شبیہیں کے سائز کی وضاحت کریں۔ پتہ GUI ایپ کی تصاویر کے آگے شروع ہوتا ہے۔ سائز معلومات میں پیدا ہوتا ہے۔ file. #define APP_ICONS_BASE (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) #define APP_ICONS_SIZE 0x107c40
- res_sh_mem نامی میموری سیکشن کے تفویض کردہ سائز کو app_config.h: #define RES_SHMEM_TOTAL_SIZE 0x200000 اور پروجیکٹ > پراپرٹیز > C/C++ Build > MCU سیٹنگز میں اس کی وضاحت کر کے 0x200000 پر اپ ڈیٹ کریں۔
- مین میں فنکشن APP_LoadResource() میں فلیش سے SDRAM میں لوڈ کردہ وسائل کے کل سائز میں آئیکن کا سائز شامل کریں۔ file lvgl_gui_face_rec_cm7.cpp: memcpy((void *)APP_LVGL_IMGS_BASE, pLvglImages, APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE)؛
نوٹس: چہرے کی شناخت کی خصوصیت کو مکمل کرنے کے لیے، LVGL GUI ایپ سپورٹ کی ضرورت ہے۔ آؤٹ پٹ UI HAL میں UI کال بیک فنکشنز کو LVGL GUI ایپ کے ذریعہ UI اسکرین سے واقعات کو سنبھالنے کے لیے بلایا جاتا ہے۔ دوسری طرف، آؤٹ پٹ UI HAL نتیجہ اور حیثیت دکھانے کے لیے UI کو اپ ڈیٹ کرنے کے لیے LVGL GUI ایپ سے APIs کو کال کرتا ہے۔ LVGL GUI ایپ کی ترقی نسبتاً آزاد ہے اور اسے سیکشن 4.3 میں متعارف کرایا گیا ہے۔
4.1.5 چہرے کی شناخت کے لیے HAL ڈیوائسز اور مینیجرز شروع کریں۔
فعال وژن الگو HAL اور UI آؤٹ پٹ HAL اور ان کے مینیجرز کو مین میں شروع کیا گیا ہے۔ file
lvgl_gui_face_rec_cm7.cpp فریم ورک پر ترقی کے تبادلوں کے بعد ذیل میں:
- ہیڈر شامل کریں۔ file کوڈ لائن کو شامل کرکے دو HAL مینیجرز سے متعلق:
- # " fwk_output_manager.h " شامل کریں
- # "fwk_vision_algo_manager.h" شامل کریں
- HAL آلات کا اعلان کریں:
- HAL_VALGO_DEV_DECLARE(OasisGUIFaceRec)؛
- HAL_OUTPUT_DEV_DECLARE(UiGUIFaceRec)؛
- HAL آلات کو رجسٹر کریں:
- HAL_VALGO_DEV_REGISTER(OasisGUIFaceRec, ret);
- HAL_OUTPUT_DEV_REGISTER(UiGUIFaceRec, ret);
- مینیجرز کو شروع کریں:
- FWK_MANAGER_INIT(VisionAlgoManager, ret);
- FWK_MANAGER_INIT(OutputManager, ret);
- مینیجرز شروع کریں:
- FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, ret);
- FWK_MANAGER_START(OutputManager, OUTPUT_MANAGER_TASK_PRIORITY, ret);
- مینیجر کے کاموں کی ترجیح کی وضاحت کریں:
- #VISION_ALGO_MANAGER_TASK_PRIORITY 3 کی وضاحت کریں۔
- OUTPUT_MANAGER_TASK_PRIORITY 1 کی وضاحت کریں۔
فریم ورک پر چہرہ ڈیٹا بیس سپورٹ شامل کریں۔
رجسٹرڈ چہرے کی خصوصیت کے ڈیٹا کو فلیش پر ذخیرہ شدہ چہرے کے ڈیٹا بیس میں تھوڑا سا کے ذریعے حاصل کیا جاتا ہے۔ file نظام فیس ڈیٹا بیس سپورٹ شامل کرنے کے اقدامات ذیل میں بیان کیے گئے ہیں۔
فلیش اسٹوریج کے لیے ڈرائیورز شامل کریں۔
فلیش انٹرفیس FlexSPI ڈرائیور کو کاپی کریں۔ files fsl_flexspi.c اور fsl_flexspi.h، اور ڈیٹا انکرپشن ڈرائیور files fsl_caam.c اور fsl_caam.h SDK_2_13_0_MIMXRT1170-EVK\devices \MIMRX1176\drivers\ سے سابق کے ڈرائیورز فولڈر تکampلی ایس ڈبلیو
بورڈ لیول سپورٹ شامل کریں۔
- بورڈ پر فلیش ڈیوائس کے لیے استعمال ہونے والے FlexSPI کی تعریفیں board.h میں شامل کریں:
- # BOARD_FLEXSPI FLEXSPI1 کی وضاحت کریں۔
- BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1 کی وضاحت کریں۔
- BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE کی وضاحت کریں
- آپریٹرز اور کنفیگریشنز کو کاپی کریں۔ fileفلیش ڈیوائس کا s flexspi_nor_flash_ops.c, flexspi_nor_flash_ops.h, sln_flash_config.c, sln_flash_config_w25q256jvs.h, andsln_flash_ops.h پاتھ کے تحت smart HMI\flash_ops.h کے فولڈر کے ذریعےampلی ایس ڈبلیو
- پر دائیں کلک کرنے کے بعد C/C++ Build > Settings میں "Exclude Resource from build" کو غیر نشان زد کریں۔ files کا نام اور پراپرٹیز کو کھولنا تاکہ انہیں پراجیکٹ میں شامل کیا جا سکے۔
- شامل ہیڈر کو تبدیل کریں۔ filesln_flash_config.h کو sln_flash_config.c اور flexspi_nor_flash_ops.h میں sln_flash_config_w25q256jvs.h کا نام دیں۔
- میں FlexSPI1 گھڑی کا ذریعہ سیٹ کریں۔ file clock_config.c کافی مشین ایپ کا حوالہ دے رہا ہے۔
اڈاپٹر اور درمیانی سطح کی مدد شامل کریں۔
- کاپی کریں۔ files sln_flash.c، sln_flash.h، sln_encrypt.c، اور sln_encrypt.h بطور اڈاپٹر ڈرائیور file سسٹم اور ایپ سمارٹ HMI\coffee_machine\cm7\source\ سے سابق کے فولڈر سورس تکample نیا اپ ڈیٹ کریں۔ files:
- عمارت کے لیے ان پر "تعمیر سے وسائل کو خارج کریں" کو غیر چیک کریں۔
- تمام شامل ہیڈر کو تبدیل کریں۔ file sln_flash_config.h کو sln_flash_config_w25q256jvs.h کا نام دیں۔
- فولڈر کاپی کریں۔ fileچھوٹے کے لیے APIs پر مشتمل نظام fileسسٹم اور HAL ڈرائیور سمارٹ HMI \coffee_machine\cm7\source\ سے سابق تکampلی ایس ڈبلیو اور نئے فولڈر کے لیے اپ ڈیٹ کریں:
- عمارت کے لیے اس پر "تعمیر سے وسائل کو خارج کریں" کو غیر چیک کریں۔
- پروجیکٹ کی ترتیبات میں اس کے لیے شامل کرنے کا راستہ شامل کریں: “${workspace_loc:/${ProjName}/fileسسٹم}"
- شامل ہیڈر کو تبدیل کریں۔ file نام sln_flash_config.h سے sln_flash_config_w25q256jvs.h اور fica_definition.h سے app_config.h میں file sln_flash_littlefs.h.
- لٹل ایف ایس فولڈر کو کاپی کریں جس میں درمیانی سامان ہے - تھوڑا fileسسٹم SDK_2_13_0_ MIMXRT1170-EVK\midleware\ سے سابق تکampلی ایس ڈبلیو اور نئے فولڈر کو اپ ڈیٹ کریں:
- عمارت کے لیے اس پر "تعمیر سے وسائل کو خارج کریں" کو غیر چیک کریں۔
- پروجیکٹ کی ترتیبات میں اس کے لیے شامل کرنے کا راستہ شامل کریں: "${workspace_loc:/${ProjName}/littlefs}"
HAL ڈرائیورز شامل کریں۔
- HAL کے دو آلات ہیں - file سسٹم اور فیس ڈیٹا بیس HAL ڈیٹا بیس تک رسائی کی خصوصیت کے لیے سپورٹ کیا گیا ہے اور وہ پہلے سے ہی فریم ورک میں بغیر کسی تبدیلی کے لاگو کیے گئے ہیں۔ board_define.h میں درج ذیل تعریفیں شامل کرکے انہیں فعال کریں:
- #EnABLE_FLASH_DEV_Littlefs کی وضاحت کریں۔
- #ENABLE_FACEDB کی وضاحت کریں۔
اور سابق کے لیے چہرے کے ڈیٹا بیس کا نام تبدیل کریں۔ample: #define OASIS_FACE_DB_DIR "oasis_gui_face_rec"
ایپ لیول سپورٹ شامل کریں۔
- مین کو اپ ڈیٹ کریں۔ file lvgl_gui_face_rec_cm7.cpp:
- ہیڈر شامل کریں۔ file فلیش سے متعلق file سسٹم HAL مینیجر کوڈ لائن شامل کرکے: #include "fwk_flash.h"
- اعلان کریں اور رجسٹر کریں۔ file سسٹم HAL ڈیوائس:
- HAL_FLASH_DEV_DECLARE(Littlefs);
- HAL_FLASH_DEV_REGISTER(Littlefs, ret);
نوٹ:دی file سسٹم HAL ڈیوائس کا رجسٹر ہونا ضروری ہے اس سے پہلے کہ تمام ڈیوائس مینیجرز کو فنکشن APP_InitFramework() میں شروع کیا جائے۔
- MPU کی تشکیل کے لیے APP_BoardInit() میں فنکشن BOARD_ConfigMPU() کو کال کریں۔
- سیٹ کریں file میں فلیش پر سسٹم اسائنمنٹ file app_config.h میں استعمال ہونے والی میکرو تعریفوں کی وضاحت کر کے file sln_flash_littlefs.h:
- #FICA_IMG_کی وضاحت کریںFILE_SYS_ADDR (FLASH_IMG_SIZE + RES_SHMEM_TOTAL_SIZE)
- #FICA_کی وضاحت کریںFILE_SYS_SIZE (0x280000)
کنفیگریشنز
کچھ فلیش سے متعلقہ کوڈز کافی کارکردگی کے لیے SRAM ITC علاقے میں لاگو کیے جاتے ہیں۔ پاتھ سمارٹ HMI\coffee_machine\cm7\ سے لنکر کنفیگریشنز پر مشتمل فولڈر لنک اسکرپٹس کو سابق میں کاپی کریں۔ampلی ایس ڈبلیو
LVGL GUI ایپ لاگو کریں۔
فریم ورک پر مبنی LVGL GUI ایپ کی ترقی APIs کو آؤٹ پٹ UI HAL سے کال کرتی ہے اور UI HAL کو آؤٹ پٹ کرنے کے لیے API فراہم کرتی ہے (آؤٹ پٹ UI HAL کے نفاذ کے لیے سیکشن 4.1.3 دیکھیں)۔
تاہم، LVGL GUI ایپ کا تفصیلی نفاذ درخواست کی ضروریات اور ڈیزائن پر منحصر ہے۔ اس سابق میں GUI ایپample کو ڈیزائن کیا گیا ہے جیسا کہ سیکشن 4 کے شروع میں بیان کیا گیا ہے۔
ذیل میں نفاذ کا تعارف ہے:
- اپنی مرضی کے مطابق کوڈز کو GUI گائیڈر کے ذریعے دیے گئے custom.c اور custom.h میں GUI گائیڈر پروجیکٹ اور ایمبیڈڈ سسٹم پروجیکٹ کے درمیان انٹرفیس کے طور پر لاگو کیا جاتا ہے۔
- درج ذیل فنکشنز کو حاصل کرنے کے لیے custom.c میں gui_xxx() کے نام سے نئے فنکشنز شامل کریں:
- UI کو اپ ڈیٹ کرنے کے لیے آؤٹ پٹ UI HAL اور GUI ایپ کے لیے۔
- GUI ایپ کے لیے آؤٹ پٹ UI HAL سے UI کال بیک فنکشنز کو کال کر کے ایونٹس کو متحرک کرنا۔
سابق کے لیےample، نیا فنکشن gui_event_face_rec_action() UI کال بیک فنکشنز کو کال کرتا ہے تاکہ متعلقہ بٹن پر کلک کرنے پر چہرے کی رجسٹریشن، چہرے کی شناخت اور GUI ایپ سے متحرک صارف کو حذف کرنے کے واقعات میں سے ایک کو ہینڈل کیا جا سکے۔
نوٹ: فنکشن gui_set_virtual_face() پری کے لیے آؤٹ پٹ UI HAL میں کہا جاتا ہے۔view موڈ کو custom.c میں لاگو کرنے کی ضرورت ہے:
- سمارٹ HMI\coffee_machine\cm4\custom\custom.c سے کلون فنکشن gui_set_virtual_face()
- ویجیٹ کا نام home_img_cameraPre تبدیل کریں۔view اسکرین_img_camera_pre پرview فنکشن میں
- GUI گائیڈر پروجیکٹ کے ساتھ مطابقت رکھنے کے لیے custom.c میں میکرو ڈیفینیشن #ifndef RT_PLATFORM کے کنٹرول کے تحت آؤٹ پٹ UI HAL میں موجود تمام پروٹوٹائپ کے ساتھ UI کال بیک فنکشنز کو ایک ہی پروٹو ٹائپ کے ساتھ لاگو کریں کیونکہ آؤٹ پٹ UI HAL میں یہ فنکشنز پر منحصر ہیں۔ سرایت شدہ پلیٹ فارم۔ Custom.c میں، وہ GUI گائیڈر پر سمیلیٹر پر انحصار کرتے ہیں اور ایمبیڈڈ پلیٹ فارم سے آزاد ہیں۔ سابق کے لیےampلی، GUI گائیڈر سمیلیٹر چلانے کے لیے فیس رجسٹریشن کال بیک کو نیچے لاگو کیا گیا ہے: #ifndef RT_PLATFORM void UI_Registration_Callback() { gui_hide_del_user_btn(true)؛ s_InAction = غلط؛ واپسی }
نوٹ: سیکشن 6 کے مرحلہ 4.1.3 میں متعارف کرائے گئے فنکشن کے اسی پروٹو ٹائپ کا حوالہ دیں۔
میکرو ڈیفینیشن RT_PLATFORM MCUXpresso کی پروجیکٹ سیٹنگز پر سیٹ کی گئی ہے جیسا کہ شکل 7 میں دکھایا گیا ہے: - custom.h میں UI_xxx_Callback() اور gui_xxx() نامی تمام فنکشنز کا اعلان کریں اور UI آؤٹ پٹ HAL میں GUI APIs کا اشتراک کرنے کے لیے smart_tlhmi_event_descriptor.h میں شامل custom.h شامل کریں۔
- درج ذیل فنکشنز کو حاصل کرنے کے لیے custom.c میں gui_xxx() کے نام سے نئے فنکشنز شامل کریں:
- GUI گائیڈر پر GUI تیار کریں:
- فولڈر کیمرہ پری کلون کریں۔view بیس سافٹ ویئر پیکج lvgl_gui_camera_pre میں gui_guider فولڈر میں GUI گائیڈر پروجیکٹ سافٹ ویئر پر مشتملview_cm7. متعلقہ نام کیمرہ_پری کو تبدیل کریں۔view نئے سابق کے لیے face_rec کے لیےample
- اوپر اپ ڈیٹ کردہ custom.c اور کسٹم کاپی کریں۔ h نئے GUI گائیڈر پروجیکٹ سافٹ ویئر کے لیے۔
- GUI گائیڈر پر نیا face_rec پروجیکٹ کھولیں۔ ذیل میں اپ ڈیٹ کریں:
- ڈیلیٹ یوزر کا لیبل لگا نیا بٹن شامل کریں۔ اس میں پوشیدہ جھنڈا شامل کریں تاکہ GUI ایپ شروع ہونے پر بٹن چھپ جائے۔
- API gui_event_face_rec_action() کو کال کرنے کی کوڈ لائن شامل کریں مختلف ایونٹ آئی ڈی پیرامیٹر کے ساتھ "ریلیزڈ" ٹرگر پر تمام بٹنز رجسٹریشن، ریکگنیشن اور ڈیلیٹ یوزر کی ایونٹ سیٹنگ میں چہرے کے رجسٹریشن، چہرے کی شناخت اور صارف کو حذف کرنے کے واقعات کو متحرک کرنے کے لیے۔ تصویر 8 بٹن رجسٹریشن کے واقعہ کے لیے کوڈ دکھاتا ہے:
- GUI گائیڈر سے تیار کردہ کوڈ کو MCUXpresso پروجیکٹ میں اپ ڈیٹ کریں۔
- MCUXpresso پروجیکٹ SW کے تیار کردہ فولڈر میں موجود فولڈر کی تصاویر کے علاوہ مواد کو GUI Guider پروجیکٹ SW کے تیار کردہ فولڈر میں متعلقہ تصاویر سے تبدیل کریں۔
نوٹ: اوپر متعارف کرائے گئے ترمیمات کے بارے میں مزید تفصیلات کے لیے، سابق کو چیک کریں۔ample سافٹ ویئر پر https://mcuxpresso.nxp.com/appcodehub.
سابق کے ساتھ تصدیقampلی پروجیکٹ
سابق حاصل کرنے کے لئےampاس ایپلیکیشن نوٹ کے وسائل اور ٹولز پر مشتمل le سافٹ ویئر پیکج، ملاحظہ کریں: https://mcuxpresso.nxp.com/appcodehub. سابق کو کھولیں۔ampMCUXpresso IDE پر لی پروجیکٹ۔ .axf کو بنائیں اور پروگرام کریں۔ file ایڈریس 0x30000000 پر اور ریسورس بن کو پروگرام کریں۔ file camera_preview_resource.bin ایڈریس 0x30800000 پر۔
LVGL GUI چہرے کی شناخت سابقampذیل میں عام طور پر کام کرتا ہے:
- پریview: پاور اپ کے ساتھ، کیمرے کی طرف سے کیپچر کی گئی ویڈیو اسٹریمز کیمرہ سے پہلے کے مخصوص علاقے پر ظاہر ہوتی ہیں۔view GUI اسکرین پر۔ اسٹیٹس لیبل دکھاتا ہے "Preview…" تفصیلات کے لیے، شکل 3 دیکھیں۔ صارف کو حذف کرنے کا بٹن چھپا ہوا ہے۔ بٹنوں اور تصاویر کے باہر کے علاقے پر کلک کرتے وقت، یہ پری کو دکھاتا ہے۔view چہرے کی رجسٹریشن یا شناخت کی کارروائی ختم ہونے کے بعد اوپر کی طرح بیان کریں۔
- رجسٹریشن:
- ٹارٹ اپ: جب رجسٹریشن بٹن پر کلک کیا جاتا ہے تو چہرے کی رجسٹریشن شروع ہوجاتی ہے۔ اسٹیٹس لیبل "رجسٹریشن…" کو ظاہر کرنے کے لیے تبدیل ہو جاتا ہے، چہرہ گائیڈ مستطیل نیلا دکھاتا ہے، اور پروگریس بار پیشرفت دکھانا شروع کر دیتا ہے۔ یقینی بنائیں کہ رجسٹریشن کے لیے صارف کا چہرہ نیلے چہرے کے گائیڈ مستطیل میں ظاہر ہو رہا ہے۔
- کامیابی: اسٹیٹس کا لیبل "رجسٹریشن...ٹھیک ہے" اور رجسٹرڈ یوزر آئی ڈی نمبر دکھاتا ہے، اگر بار پر پیشرفت مکمل ظاہر ہونے سے پہلے چہرے کی رجسٹریشن کامیاب ہو جاتی ہے تو چہرہ گائیڈ مستطیل سرخ ہو جاتا ہے۔
- ناکامی -> ٹائم آؤٹ: اسٹیٹس لیبل "رجسٹریشن… ٹائم آؤٹ" دکھاتا ہے اگر بار پر پیشرفت مکمل ہونے کے باوجود چہرے کی رجسٹریشن ناکام رہتی ہے۔
- ناکامی -> ڈپلیکیشن: اسٹیٹس لیبل "رجسٹریشن...ناکام" دکھاتا ہے، اگر بار پر پیشرفت مکمل ہونے سے پہلے رجسٹرڈ چہرہ پہچان لیا جائے تو فیس گائیڈ مستطیل سبز ہو جاتا ہے۔
- پہچان:
- آغاز: جب شناخت کے بٹن پر کلک کیا جاتا ہے، تو چہرے کی شناخت شروع ہوجاتی ہے۔ اسٹیٹس لیبل "تسلیم..." کو ظاہر کرنے کے لیے تبدیل ہو جاتا ہے، چہرہ گائیڈ مستطیل نیلے رنگ کا دکھاتا ہے، اور پروگریس بار پیش رفت دکھانا شروع کر دیتا ہے۔ یقینی بنائیں کہ صارف کا چہرہ رجسٹریشن کے لیے نیلے چہرے کے گائیڈ مستطیل میں دکھایا گیا ہے۔
- کامیابی: اسٹیٹس کا لیبل "تسلیم...ٹھیک ہے" اور تسلیم شدہ یوزر آئی ڈی نمبر دکھاتا ہے، اگر بار پر پیشرفت مکمل ہونے سے پہلے چہرے کی شناخت کامیاب ہو جاتی ہے تو چہرہ گائیڈ مستطیل سبز ہو جاتا ہے۔ نقطہ پر، صارف کو حذف کریں بٹن ظاہر ہوتا ہے. اس کا مطلب یہ ہے کہ صارف کو صرف اس وقت حذف کرنے کی اجازت ہے جب اسے پہچانا جائے۔
- بیماری: اسٹیٹس کا لیبل "تسلیم...وقت ختم" کو ظاہر کرتا ہے اگر چہرے کی شناخت اب بھی ناکام رہتی ہے جب بار پر پیشرفت مکمل دکھائی دیتی ہے۔
- صارف کو حذف کریں۔: جب "صارف کو حذف کریں" بٹن پر کلک کیا جاتا ہے، چہرے کی شناخت کے کامیاب ہونے کے بعد، اسٹیٹس لیبل تبدیل ہو کر "صارف کو حذف کریں... ٹھیک ہے" ظاہر کرنے کے لیے تبدیل ہو جاتا ہے جس کے ساتھ چہرہ گائیڈ مستطیل نیلا ہو جاتا ہے اور بار پر مکمل پیش رفت دکھائی دیتی ہے۔ صارف کو حذف کریں بٹن دوبارہ چھپا ہوا ہے۔ شناخت شدہ چہرہ/صارف کو ڈیٹا بیس سے حذف کر دیا جاتا ہے۔ اس کا مطلب ہے کہ اس چہرے/صارف کو اس وقت تک پہچانا نہیں جا سکتا جب تک کہ دوبارہ رجسٹر نہیں ہو جاتا۔
دستاویز میں سورس کوڈ کے بارے میں نوٹ کریں۔
Exampاس دستاویز میں دکھائے گئے le کوڈ میں درج ذیل کاپی رائٹ اور BSD-3-Clause لائسنس ہے:
کاپی رائٹ 2024 NXP کی دوبارہ تقسیم اور ماخذ اور بائنری شکلوں میں ترمیم کے ساتھ یا اس کے بغیر استعمال کی اجازت ہے بشرطیکہ درج ذیل شرائط پوری ہوں:
- سورس کوڈ کی دوبارہ تقسیم میں اوپر کاپی رائٹ نوٹس، شرائط کی یہ فہرست اور درج ذیل تردید کو برقرار رکھنا چاہیے۔
- بائنری شکل میں دوبارہ تقسیم کے لیے مندرجہ بالا کاپی رائٹ نوٹس کو دوبارہ پیش کرنا چاہیے، شرائط کی یہ فہرست اور دستاویزات اور/یا دیگر مواد میں درج ذیل تردید کو تقسیم کے ساتھ فراہم کیا جانا چاہیے۔
- نہ تو کاپی رائٹ ہولڈر کا نام اور نہ ہی اس کے تعاون کرنے والوں کے نام مخصوص پیشگی تحریری اجازت کے بغیر اس سافٹ ویئر سے اخذ کردہ مصنوعات کی توثیق یا فروغ دینے کے لیے استعمال کیے جا سکتے ہیں۔
یہ سافٹ ویئر کاپی رائٹ ہولڈرز اور تعاون کنندگان کی طرف سے فراہم کیا گیا ہے "جیسا ہے" اور کوئی بھی واضح یا مضمر وارنٹی، بشمول، لیکن ان تک محدود نہیں، مضمر ضمانتوں کی مضمر وارنٹی اور مقصد کو مسترد کر دیا گیا ہے۔ کسی بھی صورت میں کاپی رائٹ ہولڈر یا شراکت دار کسی بھی براہ راست، بالواسطہ، حادثاتی، خصوصی، مثالی، یا نتیجے میں ہونے والے نقصانات کے لیے ذمہ دار نہیں ہوں گے (بشمول، لیکن محدود نہیں یا خدمات کا استعمال، ڈیٹا، یا منافع یا کاروبار میں رکاوٹ) تاہم، کسی بھی نظریہ پر، چاہے وہ معاہدہ، سخت ذمہ داری، یا غیر قانونی طور پر ہو اس سافٹ ویئر کے استعمال سے کسی بھی طرح سے باہر، یہاں تک کہ اگر اس طرح کے نقصان کے امکان کا مشورہ دیا جائے۔
نظرثانی کی تاریخ
قانونی معلومات
تعریفیں
ڈرافٹ - کسی دستاویز پر مسودہ کی حیثیت اس بات کی نشاندہی کرتی ہے کہ مواد اب بھی اندرونی ری کے تحت ہے۔view اور رسمی منظوری سے مشروط، جس کے نتیجے میں ترمیم یا اضافہ ہو سکتا ہے۔ NXP سیمی کنڈکٹرز کسی دستاویز کے مسودہ ورژن میں شامل معلومات کی درستگی یا مکمل ہونے کے بارے میں کوئی نمائندگی یا وارنٹی نہیں دیتے ہیں اور ایسی معلومات کے استعمال کے نتائج کے لیے ان پر کوئی ذمہ داری نہیں ہوگی۔
ڈس کلیمر
- محدود وارنٹی اور ذمہ داری - اس دستاویز میں موجود معلومات کو درست اور قابل اعتماد سمجھا جاتا ہے۔ تاہم، NXP سیمی کنڈکٹرز ایسی معلومات کی درستگی یا مکمل ہونے کے بارے میں اظہار یا مضمر کوئی نمائندگی یا ضمانت نہیں دیتے ہیں اور ایسی معلومات کے استعمال کے نتائج کے لیے ان پر کوئی ذمہ داری نہیں ہوگی۔ NXP Semiconductors اس دستاویز میں موجود مواد کی کوئی ذمہ داری نہیں لیتے ہیں اگر NXP Semiconductors سے باہر کسی معلوماتی ذریعہ کے ذریعے فراہم کیا جائے۔
کسی بھی صورت میں NXP سیمی کنڈکٹر کسی بھی بالواسطہ، حادثاتی، تعزیری، خصوصی یا نتیجہ خیز نقصانات کے لیے ذمہ دار نہیں ہوں گے (بشمول - بغیر کسی حد کے - کھوئے ہوئے منافع، کھوئی ہوئی بچت، کاروبار میں رکاوٹ، کسی بھی مصنوعات کو ہٹانے یا تبدیل کرنے سے متعلق اخراجات یا دوبارہ کام کے چارجز) چاہے یا نہیں اس طرح کے نقصانات ٹارٹ (بشمول غفلت)، وارنٹی، معاہدے کی خلاف ورزی یا کسی دوسرے قانونی نظریہ پر مبنی ہیں۔
کسی بھی نقصان کے باوجود جو گاہک کو کسی بھی وجہ سے اٹھانا پڑ سکتا ہے، NXP سیمی کنڈکٹرز کی یہاں بیان کردہ مصنوعات کے لیے صارف کے لیے مجموعی اور مجموعی ذمہ داری NXP سیمی کنڈکٹرز کی تجارتی فروخت کی شرائط و ضوابط کے مطابق محدود ہوگی۔ - تبدیلیاں کرنے کا حق — NXP Semiconductors اس دستاویز میں شائع کردہ معلومات میں تبدیلیاں کرنے کا حق محفوظ رکھتا ہے، بشمول بغیر کسی حد کی وضاحتیں اور مصنوعات کی تفصیل، کسی بھی وقت اور بغیر اطلاع کے۔ یہ دستاویز یہاں کی اشاعت سے پہلے فراہم کی گئی تمام معلومات کی جگہ لے لیتی ہے اور اس کی جگہ لے لیتی ہے۔
- استعمال کے لیے موزوں - NXP سیمی کنڈکٹرز پروڈکٹس کو لائف سپورٹ، لائف-کریٹیکل یا سیفٹی-کریٹیکل سسٹمز یا آلات میں استعمال کے لیے ڈیزائن، مجاز یا اس کی ضمانت نہیں دی گئی ہے، اور نہ ہی ایسی ایپلی کیشنز میں جہاں NXP سیمی کنڈکٹرز پروڈکٹ کی ناکامی یا خرابی کے نتیجے میں معقول حد تک توقع کی جا سکتی ہے۔ ذاتی چوٹ، موت یا شدید املاک یا ماحولیاتی نقصان۔ NXP سیمی کنڈکٹرز اور اس کے سپلائرز ایسے آلات یا ایپلی کیشنز میں NXP سیمی کنڈکٹرز کی مصنوعات کو شامل کرنے اور/یا استعمال کے لیے کوئی ذمہ داری قبول نہیں کرتے ہیں اور اس لیے اس طرح کی شمولیت اور/یا استعمال صارف کے اپنے خطرے میں ہے۔
- ایپلی کیشنز - درخواستیں جو یہاں ان مصنوعات میں سے کسی کے لیے بیان کی گئی ہیں وہ صرف مثالی مقاصد کے لیے ہیں۔ NXP سیمی کنڈکٹرز کوئی نمائندگی یا ضمانت نہیں دیتے ہیں کہ ایسی ایپلی کیشنز بغیر کسی جانچ یا ترمیم کے مخصوص استعمال کے لیے موزوں ہوں گی۔
صارفین NXP Semiconductors پروڈکٹس کا استعمال کرتے ہوئے اپنی ایپلی کیشنز اور پروڈکٹس کے ڈیزائن اور آپریشن کے ذمہ دار ہیں، اور NXP Semiconductors ایپلی کیشنز یا کسٹمر پروڈکٹ ڈیزائن کے ساتھ کسی بھی مدد کے لیے کوئی ذمہ داری قبول نہیں کرتے ہیں۔ یہ تعین کرنا گاہک کی واحد ذمہ داری ہے کہ آیا NXP Semiconductors پروڈکٹ گاہک کی ایپلیکیشنز اور منصوبہ بند مصنوعات کے ساتھ ساتھ گاہک کے تیسرے فریق گاہک (صارفین) کے منصوبہ بند اطلاق اور استعمال کے لیے موزوں اور موزوں ہے۔ صارفین کو اپنی ایپلی کیشنز اور مصنوعات سے وابستہ خطرات کو کم کرنے کے لیے مناسب ڈیزائن اور آپریٹنگ تحفظات فراہم کرنے چاہییں۔ NXP سیمی کنڈکٹرز کسی بھی ڈیفالٹ، نقصان، لاگت یا مسئلے سے متعلق کوئی ذمہ داری قبول نہیں کرتے ہیں جو گاہک کی ایپلی کیشنز یا مصنوعات میں کسی کمزوری یا ڈیفالٹ پر مبنی ہے، یا صارف کے تیسرے فریق گاہک (صارفین) کی طرف سے درخواست یا استعمال پر مبنی ہے۔ کسٹمر کی ذمہ داری ہے کہ وہ NXP Semiconductors پروڈکٹس کا استعمال کرتے ہوئے گاہک کی ایپلی کیشنز اور پروڈکٹس کے لیے تمام ضروری ٹیسٹ کرنے کا ذمہ دار ہے تاکہ ایپلی کیشنز اور پروڈکٹس یا ایپلیکیشن کے ڈیفالٹ سے بچا جا سکے یا کسٹمر کے تھرڈ پارٹی گاہک (صارفین) کے ذریعے استعمال کیا جا سکے۔ NXP اس سلسلے میں کوئی ذمہ داری قبول نہیں کرتا ہے۔ - تجارتی فروخت کی شرائط و ضوابط — NXP سیمی کنڈکٹرز پروڈکٹس کو تجارتی فروخت کی عمومی شرائط و ضوابط کے تابع فروخت کیا جاتا ہے، جیسا کہ https://www.nxp.com/pro پر شائع ہوا ہے۔file/شرائط، جب تک کہ کسی درست تحریری انفرادی معاہدے میں متفق نہ ہوں۔ انفرادی معاہدے کی صورت میں صرف متعلقہ معاہدے کی شرائط و ضوابط لاگو ہوں گے۔ NXP Semiconductors اس طرح گاہک کے ذریعے NXP Semiconductors پروڈکٹس کی خریداری کے سلسلے میں گاہک کی عمومی شرائط و ضوابط کو لاگو کرنے پر واضح طور پر اعتراض کرتے ہیں۔
- ایکسپورٹ کنٹرول — اس دستاویز کے ساتھ ساتھ یہاں بیان کردہ آئٹمز برآمد کنٹرول کے ضوابط کے تابع ہو سکتے ہیں۔ ایکسپورٹ کے لیے مجاز حکام سے پیشگی اجازت درکار ہو سکتی ہے۔
- غیر آٹوموٹو اہل مصنوعات میں استعمال کے لیے موزوں — جب تک یہ دستاویز واضح طور پر یہ نہ کہے کہ یہ مخصوص NXP Semiconductors پروڈکٹ آٹوموٹیو کوالیفائیڈ ہے، پروڈکٹ آٹوموٹو کے استعمال کے لیے موزوں نہیں ہے۔ یہ آٹوموٹو ٹیسٹنگ یا درخواست کی ضروریات کے مطابق نہ تو اہل ہے اور نہ ہی اس کا تجربہ کیا گیا ہے۔ NXP سیمی کنڈکٹرز آٹوموٹیو آلات یا ایپلی کیشنز میں غیر آٹوموٹیو اہل مصنوعات کو شامل کرنے اور/یا استعمال کے لیے کوئی ذمہ داری قبول نہیں کرتے ہیں۔
ایسی صورت میں جب صارف پروڈکٹ کو آٹوموٹو ایپلی کیشنز میں ڈیزائن اور استعمال کے لیے آٹوموٹیو تصریحات اور معیارات کے لیے استعمال کرتا ہے، گاہک (a) ایسی آٹوموٹیو ایپلی کیشنز، استعمال اور تصریحات کے لیے مصنوعات کی NXP سیمی کنڈکٹرز کی وارنٹی کے بغیر پروڈکٹ کا استعمال کرے گا، اور ( b) جب بھی گاہک این ایکس پی سیمی کنڈکٹرز کی تصریحات سے ہٹ کر آٹو موٹیو ایپلی کیشنز کے لیے پروڈکٹ کا استعمال کرتا ہے تو اس طرح کا استعمال مکمل طور پر گاہک کے اپنے خطرے پر ہوگا، اور (c) صارف NXP سیمی کنڈکٹرز کو کسی بھی ذمہ داری، نقصانات یا ناکام پروڈکٹ کے دعووں کے لیے مکمل طور پر معاوضہ دیتا ہے۔ این ایکس پی سیمی کنڈکٹرز کی معیاری وارنٹی اور این ایکس پی سیمی کنڈکٹرز کی مصنوعات کی وضاحتوں سے باہر آٹوموٹو ایپلی کیشنز کے لیے پروڈکٹ۔ - ترجمے - کسی دستاویز کا ایک غیر انگریزی (ترجمہ شدہ) ورژن، بشمول اس دستاویز میں قانونی معلومات، صرف حوالہ کے لیے ہے۔ ترجمہ شدہ اور انگریزی ورژن کے درمیان کسی بھی تضاد کی صورت میں انگریزی ورژن غالب ہوگا۔
- سیکورٹی — گاہک سمجھتا ہے کہ تمام NXP پروڈکٹس نامعلوم کمزوریوں کا شکار ہو سکتے ہیں یا معلوم حدود کے ساتھ قائم کردہ حفاظتی معیارات یا تصریحات کی حمایت کر سکتے ہیں۔ کسٹمر اپنی ایپلی کیشنز اور پروڈکٹس کے ڈیزائن اور آپریشن کے لیے اپنی پوری زندگی میں ذمہ دار ہے تاکہ گاہک کی ایپلی کیشنز اور مصنوعات پر ان کمزوریوں کے اثر کو کم کیا جا سکے۔ گاہک کی ذمہ داری دیگر کھلی اور/یا ملکیتی ٹیکنالوجیز تک بھی پھیلی ہوئی ہے جنہیں NXP پروڈکٹس کے ذریعے گاہک کی ایپلی کیشنز میں استعمال کرنے کے لیے تعاون حاصل ہے۔ NXP کسی بھی خطرے کے لیے کوئی ذمہ داری قبول نہیں کرتا ہے۔ کسٹمر کو NXP سے سیکیورٹی اپ ڈیٹس کو باقاعدگی سے چیک کرنا چاہیے اور مناسب طریقے سے فالو اپ کرنا چاہیے۔ گاہک حفاظتی خصوصیات کے ساتھ مصنوعات کا انتخاب کرے گا جو مطلوبہ ایپلی کیشن کے اصولوں، ضوابط اور معیارات کو بہترین طریقے سے پورا کرتے ہیں اور اپنی مصنوعات کے بارے میں حتمی ڈیزائن کے فیصلے کرتے ہیں اور اپنی مصنوعات سے متعلق تمام قانونی، ریگولیٹری، اور سیکورٹی سے متعلقہ تقاضوں کی تعمیل کے لیے مکمل طور پر ذمہ دار ہیں۔ کسی بھی معلومات یا مدد کی جو NXP کے ذریعہ فراہم کی جا سکتی ہے۔
NXP کے پاس پروڈکٹ سیکیورٹی انسیڈینٹ ریسپانس ٹیم (PSIRT) (PSIRT@nxp.com پر قابل رسائی) ہے جو NXP مصنوعات کی حفاظتی کمزوریوں کی تحقیقات، رپورٹنگ اور حل کے اجراء کا انتظام کرتی ہے۔
NXP BV — NXP BV کوئی آپریٹنگ کمپنی نہیں ہے اور یہ مصنوعات کی تقسیم یا فروخت نہیں کرتی ہے۔
ٹریڈ مارکس
نوٹس: تمام حوالہ شدہ برانڈز، پروڈکٹ کے نام، سروس کے نام، اور ٹریڈ مارکس ان کے متعلقہ مالکان کی ملکیت ہیں۔
NXP — ورڈ مارک اور لوگو NXP BV کے ٹریڈ مارک ہیں۔
AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, big.LITTLE, Cordio, CoreLink, CoreSight, Cortex, DesignStart, DynamIQ, Jazelle, Keil, Mali, Mbed, Mbed Enabled, NEON, POP, RealView, SecurCore, Socrates, Thumb, TrustZone, ULINK, ULINK2, ULINK-ME, ULINK-PLUS, ULINKpro, μVision, Versatile — امریکہ میں Arm Limited (یا اس کے ذیلی اداروں یا ملحقہ اداروں) کے ٹریڈ مارک اور/یا رجسٹرڈ ٹریڈ مارک ہیں اور/یا کہیں اور متعلقہ ٹیکنالوجی کسی ایک یا تمام پیٹنٹ، کاپی رائٹس، ڈیزائنز اور تجارتی رازوں سے محفوظ ہو سکتی ہے۔ جملہ حقوق محفوظ ہیں.
- i.MX - NXP BV کا ٹریڈ مارک ہے۔
- جے لنک - SEGGER Microcontroller GmbH کا ٹریڈ مارک ہے۔
Microsoft، Azure، اور ThreadX — Microsoft گروپ آف کمپنیوں کے ٹریڈ مارک ہیں۔
براہ کرم آگاہ رہیں کہ اس دستاویز اور یہاں بیان کردہ پروڈکٹس سے متعلق اہم نوٹس سیکشن 'قانونی معلومات' میں شامل کیے گئے ہیں۔
© 2024 NXP BV
مزید معلومات کے لیے، براہ کرم ملاحظہ کریں: https://www.nxp.com
- رہائی کی تاریخ: 19 اپریل 2024
- دستاویز کا شناخت کنندہ: AN14263
اکثر پوچھے گئے سوالات
سوال: اس کی مصنوعات کا بنیادی مقصد کیا ہے؟
A: بنیادی مقصد ایک سادہ LVGL GUI سابق کے ساتھ AI&ML وژن الگورتھم ماڈل کا استعمال کرتے ہوئے چہرے کی شناخت کے فنکشن کو فعال کرنا ہے۔ampSLN-TLHMI-IOT بورڈ پر۔
سوال: اس ایپلیکیشن نوٹ سے ڈویلپرز کیسے فائدہ اٹھا سکتے ہیں؟
A: ڈیولپر فراہم کردہ سابقہ کو استعمال کرتے ہوئے مرحلہ وار فریم ورک پر چہرے کی شناخت کو لاگو کرنے کا طریقہ سیکھ سکتے ہیں۔ample اور اس میں شامل ڈیوائس مینیجرز، HAL ڈیوائسز، اور ایونٹ کے طریقہ کار کو سمجھیں۔
دستاویزات / وسائل
![]() |
NXP AN14263 Framewor پر LVGL GUI چہرے کی شناخت نافذ کریں [پی ڈی ایف] یوزر گائیڈ AN14263 Framewor پر LVGL GUI چہرے کی شناخت، AN14263 کو نافذ کریں، Framewor پر LVGL GUI چہرے کی شناخت، Framewor پر LVGL GUI چہرے کی شناخت، Framewor پر چہرے کی شناخت، Framewor پر شناخت، |