nxp-लोगो

NXP AN14263 Framewor मा LVGL GUI अनुहार पहिचान लागू गर्नुहोस्

NXP-AN14263-Implement-LVGL-GUI फेस-रिकोग्निसन-मा-फ्रेमवर-उत्पादन

उत्पादन जानकारी

निर्दिष्टीकरणहरू

  • उत्पादन नाम: फ्रेमवर्कमा LVGL GUI अनुहार पहिचान
  • कागजात संशोधन: 1 - 19 अप्रिल 2024
  • कीवर्डहरू: अनुहार पहिचान, LVGL GUI, फ्रेमवर्क

उत्पादन उपयोग निर्देशन

  1. माथिview
    यो उत्पादनले साधारण LVGL GUI पूर्वको साथ अनुहार पहिचान कार्य लागू गर्न फ्रेमवर्कमा अनुहार पहिचानको लागि AI&ML भिजन एल्गोरिथ्म मोडेल सक्षम गर्दछ।ampSLN-TLHMI-IOT बोर्डमा।
  2. फ्रेमवर्क सकियोview
    समाधान सफ्टवेयर फ्रेमवर्क आर्किटेक्चरको वरिपरि डिजाइन गरिएको छ जसमा उपकरणहरू प्रबन्ध गर्न जिम्मेवार यन्त्र प्रबन्धकहरू, अन्तर्निहित विवरणहरू सार गर्न HAL उपकरणहरू, र विभिन्न उपकरणहरू बीच सञ्चारका लागि घटनाहरू समावेश छन्।
  3. सुविधाहरू
    उत्पादनले क्यामेरा पूर्व मार्फत अनुहार पहिचान प्रकार्यको कार्यान्वयनको लागि अनुमति दिन्छview GUI स्क्रिनमा अनुहार दर्ता, पहिचान र हटाउनका लागि बटनहरूको साथ। दर्ता गरिएको अनुहार डाटा फ्ल्यास मार्फत भण्डारण गरिन्छ file प्रणाली।
  4. आवेदन नोट सामग्री
    अनुप्रयोग नोटले क्यामेरा पूर्वको साथ LVGL GUI स्क्रिन प्रस्तुत गर्दछview र अनुहार-सम्बन्धित कार्यहरूको लागि बटनहरू। यसले विकासकर्ताहरूलाई ढाँचा बुझ्न र प्रदान गरिएको पूर्व प्रयोग गरेर अनुहार पहिचान कसरी लागू गर्ने भनेर मद्दत गर्दछample।

माथिview

NXP ले SLN-TLHMI-IOT नामक समाधान विकास किट सुरु गरेको छ जुन स्मार्ट HMI अनुप्रयोगहरूमा केन्द्रित छ। यसले एक NXP i.MX RT117H MCU मा लागू गरिएको ML दर्शन, आवाज, र ग्राफिक्स UI सँग स्मार्ट HMI सक्षम गर्दछ। SDK मा आधारित, समाधान सफ्टवेयर फ्रेमवर्क भनिने डिजाइनमा निर्माण गरिएको छ जसले लचिलो डिजाइन र दृष्टि र आवाज प्रकार्यहरूको अनुकूलनलाई समर्थन गर्दछ। प्रयोगकर्ताहरूलाई सफ्टवेयर प्लेटफर्म राम्रोसँग प्रयोग गर्न मद्दत गर्न, केही आधारभूत कागजातहरू प्रदान गरिएका छन्, पूर्वका लागिample, सफ्टवेयर विकास प्रयोगकर्ता गाइड। गाइडले SLN-TLHMI-IOT प्रयोग गरेर विकासकर्ताहरूलाई अझ सजिलै र प्रभावकारी रूपमा तिनीहरूका अनुप्रयोगहरू कार्यान्वयन गर्न मद्दत गर्न फ्रेमवर्क सहित समाधानका सबै भागहरू समावेश गर्ने अनुप्रयोगहरूको आधारभूत सफ्टवेयर डिजाइन र वास्तुकलाको परिचय दिन्छ।
समाधान र सान्दर्भिक कागजातहरूको बारेमा थप विवरणहरूको लागि, भ्रमण गर्नुहोस् web ML Vision, Voice, र ग्राफिकल UI सँग i.MX RT117H मा आधारित NXP EdgeReady स्मार्ट 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) यन्त्रहरू
  • सन्देश/घटनाहरू

चित्र १ मा देखाइए अनुसार, ओभरview फ्रेमवर्क को संयन्त्र को हो:

यन्त्र प्रबन्धकहरू प्रणालीद्वारा प्रयोग गरिएका यन्त्रहरू व्यवस्थापन गर्न जिम्मेवार हुन्छन्। प्रत्येक उपकरण प्रकार (इनपुट, आउटपुट, र यस्तै) को आफ्नै प्रकार-विशिष्ट उपकरण प्रबन्धक छ। यन्त्रहरू दर्ता गरिसकेपछि सुरु हुने यन्त्र प्रबन्धकसँग, यसले दर्ता गरिएका यन्त्रहरू प्रारम्भ र सुरु गरेपछि यन्त्रहरू र अन्य प्रबन्धकहरूलाई डेटा स्थानान्तरण गर्न सन्देश पर्खन्छ र जाँच गर्छ। HAL यन्त्रहरू तल्लो-स्तर ड्राइभर कोडको शीर्षमा लेखिएका छन्, धेरै अन्तर्निहित विवरणहरू सार गरेर कोड बुझ्ने क्षमता बढाउन मद्दत गर्दछ।

घटनाहरू एक माध्यम हो जसद्वारा जानकारी तिनीहरूका प्रबन्धकहरू मार्फत विभिन्न उपकरणहरू बीच सञ्चार गरिन्छ। जब घटना ट्रिगर हुन्छ, घटना प्राप्त गर्ने यन्त्रले घटनाको प्रबन्धकलाई जानकारी दिन्छ, त्यसपछि यसले घटना प्राप्त गर्न तोकिएका अन्य प्रबन्धकहरूलाई सूचित गर्दछ।

NXP-AN14263-Implement-LVGL-GUI फेस-रिकग्निसन-ऑन-फ्रेमवर-फिग- (1)

ढाँचाको वास्तुकला डिजाइन तीन प्राथमिक लक्ष्यहरूमा केन्द्रित थियो:

  1. प्रयोग गर्न सजिलो
  2. लचिलोपन / पोर्टेबिलिटी
  3. प्रदर्शन

ढाँचालाई दृष्टि र अन्य मेसिन-लर्निङ अनुप्रयोगहरूको लागि बजारमा समय बढाउने लक्ष्यका साथ डिजाइन गरिएको हो। बजारमा छिटो समय सुनिश्चित गर्न, यो महत्त्वपूर्ण छ कि सफ्टवेयर आफै बुझ्न र परिमार्जन गर्न सजिलो छ। यस लक्ष्यलाई ध्यानमा राख्दै, फ्रेमवर्कको वास्तुकला प्रतिबन्धात्मक बिना परिमार्जन गर्न सजिलो छ, र प्रदर्शनको लागतमा आउँदैन।
फ्रेमवर्कको बारेमा थप विवरणहरूको लागि, स्मार्ट HMI सफ्टवेयर विकास प्रयोगकर्ता गाइड (कागजात MCU-SMHMI-SDUG) हेर्नुहोस्।

प्रकाश र बहुमुखी ग्राफिक्स पुस्तकालय (LVGL)
LVGL (लाइट र बहुमुखी ग्राफिक्स पुस्तकालय) एक नि: शुल्क र खुला स्रोत ग्राफिक्स पुस्तकालय हो जुन तपाईले प्रयोग गर्न सजिलो ग्राफिकल तत्वहरू, सुन्दर दृश्य प्रभावहरू र कम मेमोरी फुटप्रिन्टको साथ एम्बेडेड GUI सिर्जना गर्न आवश्यक सबै कुराहरू प्रदान गर्दछ।

GUI मार्गदर्शक
GUI गाइडर NXP बाट प्रयोगकर्ता-अनुकूल ग्राफिकल प्रयोगकर्ता इन्टरफेस विकास उपकरण हो जसले खुला-स्रोत LVGL ग्राफिक्स पुस्तकालयको साथ उच्च गुणस्तर प्रदर्शनहरूको द्रुत विकासलाई सक्षम बनाउँछ। GUI गाइडरको ड्र्याग-एन्ड-ड्रप सम्पादकले LVGL का धेरै सुविधाहरू जस्तै विजेटहरू, एनिमेसनहरू, र शैलीहरू प्रयोग गर्न सजिलो बनाउँदछ GUI सिर्जना गर्न न्यूनतम वा कुनै कोडिङ बिना।

एउटा बटनको क्लिकको साथ, तपाइँ आफ्नो अनुप्रयोग सिमुलेटेड वातावरणमा चलाउन सक्नुहुन्छ वा लक्षित परियोजनामा ​​निर्यात गर्न सक्नुहुन्छ। GUI गाइडरबाट उत्पन्न कोड सजिलैसँग तपाइँको परियोजनामा ​​थप्न सकिन्छ, विकास प्रक्रियालाई गति दिँदै र तपाइँलाई तपाइँको एप्लिकेसनमा एम्बेडेड प्रयोगकर्ता इन्टरफेस थप्न अनुमति दिदै। GUI गाइडर NXP को सामान्य उद्देश्य र क्रसओभर MCU हरु संग प्रयोग गर्न को लागी स्वतन्त्र छ र धेरै समर्थित प्लेटफर्महरु को लागी निर्मित परियोजना टेम्प्लेटहरु समावेश गर्दछ। GUI गाइडरमा LVGL र GUI विकासको बारेमा थप जान्नको लागि, लाइट र बहुमुखी ग्राफिक्स लाइब्रेरी र GUI गाइडर जाँच गर्नुहोस्।

विकास वातावरण

पहिले, पूर्व कार्यान्वयनको लागि हार्डवेयर र सफ्टवेयर वातावरण तयार र सेटअप गर्नुहोस्ampफ्रेमवर्क मा।

हार्डवेयर वातावरण
पूर्व प्रमाणित गर्नको लागि हार्डवेयर वातावरण सेट अप गरिएको छampLe:

  • NXP i.MX RT117H (SLN_TLHMI_IOT किट) मा आधारित स्मार्ट HMI विकास किट
  • SEGGER J-Link 9-pin Cortex-M एडाप्टर र V7.84a वा चालकको नयाँ संस्करणको साथ

सफ्टवेयर वातावरण
सफ्टवेयर वातावरण पूर्व विकासको लागि सेट अप गरिएको छampLe:

  • 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 सँग सुरु गर्दै।

ढाँचामा दृष्टि वास्तुकला

ढाँचामा भिजन आर्किटेक्चर चित्र २ मा देखाइएको छ। भिजन एल्गो HAL (OASIS_HAL) मा निम्न प्रक्रियाहरू छन्:

  • आउटपुट UI HAL बाट सम्बन्धित घटनाहरू प्राप्त गरेपछि AI&ML भिजन एल्गोरिदम मोडेल मार्फत फेस दर्ता र पहिचान गर्नुहोस्। एल्गोरिदम मोडेलबाट आउटपुट UI HAL मा निष्कर्ष परिणामहरू सूचित गर्नुहोस्।
  • सानो आधारमा अनुहार सुविधा डाटाबेस पहुँच (थप्नुहोस्, मेटाउनुहोस् ...) file आउटपुट UI HAL बाट सम्बन्धित घटनाहरू प्राप्त गरेपछि FaceDB HAL को API लाई कल गरेर प्रणाली।
  • अनुहार दर्ता र पहिचान गर्दा क्यामेरा HAL बाट क्यामेरा भिडियो फ्रेम अनुरोध गर्नुहोस्।

NXP-AN14263-Implement-LVGL-GUI फेस-रिकग्निसन-ऑन-फ्रेमवर-फिग- (3)

फ्रेमवर्कमा अनुहार पहिचान लागू गर्नुहोस्

LVGL GUI अनुहार पहिचान पूर्वample (पूर्वample पछि उपलब्ध गराइन्छ) पूर्वको आधारमा ढाँचामा लागू हुन्छampLVGL GUI क्यामेरा प्रि लागू गर्ने कोडहरूview फ्रेमवर्कमा (कागजात AN14147)।

पूर्व मा अनुहार पहिचान प्रदर्शन को लागीampले, GUI एपको आधारभूत प्रकार्य (चित्र 3 मा मुख्य स्क्रिन हेर्नुहोस्) तल वर्णन गरिएको रूपमा डिजाइन गरिएको छ:

  • GUI एपले दर्ता वा पहिचान बटन क्लिक गर्दा आउटपुट UI HAL मा अनुहार दर्ता वा पहिचान घटना ट्रिगर गर्दछ। र आउटपुट UI HAL ले अनुहार दर्ता सफल भएपछि भिजन algo HAL मा प्रयोगकर्ता थप्ने घटनालाई सूचित गर्दछ।
  • GUI एपले प्रयोगकर्ताको अनुहार पहिचान भएपछि प्रयोगकर्ता मेटाउनुहोस् बटनमा क्लिक गर्दा आउटपुट UI HAL मा प्रयोगकर्ता मेटाउने घटना ट्रिगर गर्दछ।
  • GUI एपले बटन र छविहरू बाहिर स्क्रिनमा क्लिक गर्दा आउटपुट UI HAL मा चलिरहेको ओएसिस एल्गो रोक्नको घटना ट्रिगर गर्दछ।

NXP-AN14263-Implement-LVGL-GUI फेस-रिकग्निसन-ऑन-फ्रेमवर-फिग- (10)

पूर्व कार्यान्वयनको लागि सफ्टवेयर प्याकेज तयार गर्नुहोस्ample।

  • आधार सफ्टवेयर lvgl_gui_camera_pre क्लोन गर्नुहोस्view_cm7। परियोजनाको नाम र मुख्य परिवर्तन गर्नुहोस् filelvgl_gui_face_rec_cm7 को नाम।
  • फ्रेमवर्कलाई सफ्टवेयरमा अद्यावधिक गर्न आवश्यक छ किनकि फ्रेमवर्क कोरका लागि स्रोत कोडहरू संस्करण १.१.२ बाट GitHub मा सार्वजनिक हुन थालेका छन्।
  • फ्रेमवर्क फोल्डरलाई बाहेक GitHub बाट V1.1.2 को प्रतिलिपिसँग बदल्नुहोस् files fwk_log.h र fwk_common.h inc अन्तर्गत छन् किनभने तिनीहरू एप्लिकेसन नोटको श्रृंखलाको लागि परिमार्जन गरिएका छन्। कार्यहरू चित्र 4 मा देखाइएको छ:NXP-AN14263-Implement-LVGL-GUI फेस-रिकग्निसन-ऑन-फ्रेमवर-फिग- (11)
  • libs समूह अन्तर्गत फोल्डर framework_cm7 मेटाउनुहोस् र पुस्तकालय framework_cm7 हटाउनुहोस् र परियोजना > गुणहरू > C/C++ निर्माण > सेटिङहरू > उपकरण सेटिङहरू > MCU C++ Linker > पुस्तकालयहरूमा कन्फिगर गरिएको खोज मार्ग हटाउनुहोस् किनभने कोरको स्रोत कोड प्रदान गरिएको छ।

फ्रेमवर्कमा अनुहार पहिचान सुविधा सक्षम गर्नुहोस्
अनुहार पहिचान सुविधा स्थिर पुस्तकालयको रूपमा प्रदान गरिएको एमएल भिजन एल्गोरिदम मोडेलमा बनाइएको छ - NXP द्वारा ओएसिस लाइट रनटाइम लाइब्रेरी। पुस्तकालय एक सानो, अत्यधिक कुशल, अनुकूलित, र अनुकूलित AI पुस्तकालय हो। मोडेलमा अनुहार पत्ता लगाउने, अनुहार पहिचान, ग्लास पत्ता लगाउने, र जीवन्तता पत्ता लगाउने समावेश छ। यसले मुख्यतया एपिआई OASISLT_run_extended() लाई घटना कलब्याक मार्फत कलरलाई नतिजाहरू अद्यावधिक गर्दा अनुहार पहिचान पाइपलाइन चलाउन र स्रोत फ्रेम जानकारी, कलब्याक र मेमोरी निर्दिष्ट गरेपछि फेस डाटाबेस कलब्याकहरू मार्फत डेटाबेसमा अनुहारहरू थप/अपडेट/मेटाउन प्रदान गर्दछ। प्रारम्भिकरणमा अर्को API OASISLT_init() लाई कल गरेर पुस्तकालयले प्रयोग गरेको पूल। API को कलिङ र कलब्याक प्रकार्यहरू फ्रेमवर्कको भिजन एल्गो HAL मा लागू गरिन्छ।

दृष्टि अल्गो मोडेल पुस्तकालय थप्नुहोस्

  1. पुस्तकालय र सम्बन्धित हेडर समावेश फोल्डर ओएसिस प्रतिलिपि गर्नुहोस् file smart HMI\coffee_machine\cm7\libs\ बाट पूर्वको फोल्डर libs माampले SW।
  2. हेडरको खोजी मार्ग थप्नुहोस् file परियोजनामा ​​> गुणहरू > C/C++ बिल्ड > सेटिङहरू > उपकरण सेटिङहरू > MCU C कम्पाइलर > समावेश र MCU C++ कम्पाइलर > समावेश गर्दछ: “${workspace_loc:/${ProjName}/libs/oasis/include}”
  3. परियोजना > गुणहरू > C/C++ बिल्ड > सेटिङहरू > MCU C+ + Linker > लाइब्रेरीहरू: liboasis_lite2D_DEFAULT_117f_ae.a "${workspace_loc:/${ProjName}/libs/oasis}" र म्याक्रो परिभाषामा lib र यसको खोज मार्ग थप्नुहोस्। परियोजनामा ​​सुविधा सक्षम गर्नुहोस् > गुणहरू > C/C++ निर्माण > सेटिङहरू > उपकरण सेटिङहरू > MCU C कम्पाइलर > प्रीप्रोसेसर र MCU C++ कम्पाइलर > प्रीप्रोसेसर: SMART_TLHMI_2D

दृष्टि algo HAL सक्षम गर्नुहोस्
भिजन एल्गो HAL ले भिजन एल्गो मोडेललाई काम गर्न ड्राइभ गर्दछ र UI आउटपुट HAL लाई यसबाट घटनाहरू प्राप्त गरेपछि परिणामहरूलाई प्रतिक्रिया दिन्छ।

यसलाई सक्षम गर्न, अवस्थित समान HAL ड्राइभर क्लोन गर्नुहोस् file जहाँ तलका कार्यहरू लागू हुन्छन्:

  • अनुहार डाटाबेस सञ्चालन र घटनाहरू ह्यान्डलिंगको कलब्याकहरू लागू गर्नुहोस्।
  • ओएसिस लाइब्रेरीका एपीआईहरूलाई कल गरेर काम गर्नको लागि भिजन अल्गो ड्राइभ गर्नुहोस्।
  • प्रयोगकर्ता फेस डाटाबेस र एप डाटाबेस पहुँच गर्नुहोस् (यसलाई पूर्वमा आवश्यक छैनampले)।
  • बाट घटनाहरू प्राप्त गर्नुहोस् र आउटपुट UI HAL मा परिणामहरू पठाउनुहोस्।

पूर्वका लागि HAL कार्यान्वयन गर्ने प्रमुख कार्यहरूample हो:

  • अवस्थित समान HAL ड्राइभर क्लोन गर्नुहोस् file र सम्बन्धित नामहरू परिवर्तन गर्नुहोस्।
  • एप डेटा सञ्चालनसँग सम्बन्धित कोडहरू हटाउनुहोस्।
  • पूर्व प्रति आउटपुट UI HAL बाट घटनाहरू ह्यान्डल गर्नका लागि परिभाषाहरू र कार्यहरू अपडेट गर्नुहोस्ampले डिजाइन।
  • ओएसिस प्रारम्भिकरणमा आवश्यक कन्फिगरेसनहरू थप्नुहोस्।

विस्तृत चरणहरू निम्नानुसार छन्:

  1. क्लोन hal_vision_algo_oasis_coffeemachine.c. परिवर्तन गर्नुहोस् filehal_vision_algo_oasis_guifacerec.c को नाम। र GUIFaceRec मा सबै स्ट्रिङहरू CoffeeMachine लाई बदल्नुहोस् file.
  2. एप डाटाबेससँग सम्बन्धित स्ट्रिङ coffeedb (केस सेन्सेटिभ होइन) भएको कोडहरू हटाउनुहोस्, पूर्वका लागिample, # hal_sln_coffeedb.h समावेश गर्नुहोस्।
  3. HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify() आउटपुट UI HAL बाट घटनाहरू ह्यान्डल गर्नका लागि प्रकार्य परिमार्जन गर्नुहोस्।
    • घटना परिभाषा kEventFaceRecId_RegisterCoffeeSelection लाई kEventFaceRecId_RegisterUserFace मा परिवर्तन गर्नुहोस् र डाटाबेसमा नयाँ अनुहार सुविधा डेटा थप्न घटना ह्यान्डलिंगको लागि संरचना स्ट्रिङ regCoffeeSelection लाई regGUIFaceRec मा परिवर्तन गर्नुहोस्।
    • पूर्व मा अनुहार पहिचान कार्यहरूको मानक प्रक्रिया देखाउनample, राज्यहरूको परिभाषाको साथ kEventFaceRecID_OasisSetState को मामलामा ह्यान्डलिंग परिमार्जन गर्नुहोस्:
      • kOASISLIteState
      • दर्ता kOASISLIteState
      • मान्यता kOASISLIteState
      • रोकियो
  4. माथिको चरणमा उल्लेख गरिएका घटनाहरूको परिभाषा थप्नुहोस् र परिमार्जन गर्नुहोस्।
    • हेडर प्रतिलिपि गर्नुहोस् file smart_tlhmi_event_descriptor.h smart HMI\coffee_machine \cm7\source\event_handlers\ बाट पूर्वको फोल्डर स्रोतमाampले SW। अपडेट गर्नुहोस् file तलको रूपमा:
    • घटना परिभाषा kEventFaceRecId_RegisterCoffeeSelection लाई enum प्रकार _event_smart_tlhmi_id मा kEventFaceRecId_RegisterUserFace मा परिवर्तन गर्नुहोस् र संरचना _event_smart_smart_ मा regGUIFaceRec मा संरचना स्ट्रिङ regCoffeeSelection। त्यसैले, regCoffeeSelection को लागि struct register_coffee_selection_event_t लाई register_gui_facerec_event_t मा परिवर्तन गर्नुहोस्।
    • कफी मेसिन एपका लागि प्रयोग गरिएका अन्य सामग्रीहरू मेट्नुहोस्, पूर्वका लागिample, आवाज बारे कोड लाइन: # "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
      • DeRegistration, kOASISLIteState
      • रिमोट दर्ता, kOASISLIteState
      • गणना गर्नुहोस्
    • माथिको अद्यावधिक गरिएको struct oasis_lite_state_t लाई hal_event_descriptor_face_rec.h मा struct oasis_state_event_t लाई परिमार्जन गर्न प्रयोग गर्नुहोस् ढाँचा अन्तर्गत hal> परियोजनामा ​​निम्न अनुसार: typedef struct _oasis_state_event_t { oasis_lite_state_t state; } oasis_state_event_t;
  5. सबै kEventInfo_Remote लाई kEventInfo_Local मा परिवर्तन गर्नुहोस् भिजन algo HAL बाट घटनाहरू पठाउनको लागि अन्य HALs लाई एउटै कोरमा चलिरहेको डुअल-कोरको सट्टा एकल कोरमा प्रयोग गरिन्छ।ample।
  6. 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) \
      • __विशेषता__((खण्ड(“.bss.$fb_sh_mem,\"aw\",%nobits @"))) var
      • __विशेषता__((पङ्क्तिबद्ध(पङ्क्तिबद्ध बाइट्स)))
    • माथिको मेमोरी खण्ड fb_sh_mem मा मेमोरी असाइनमेन्ट कन्फिग गर्नुहोस् परियोजना > गुणहरू > C/C++ बिल्ड > MCU सेटिङहरू चित्र 5 मा देखाइएको छ:NXP-AN14263-Implement-LVGL-GUI फेस-रिकग्निसन-ऑन-फ्रेमवर-फिग- (12)
    • lvgl_gui_face_rec_cm7.cpp मा ग्लोबल चर g_DTCOPBuf घोषणा गर्नुहोस्: AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf[DTC_OPTIMIZE_BUFFER_SIZE], 4);
    • माथिको चरमा प्रयोग गरिएका परिभाषाहरू थप्न जारी राख्नुहोस्:
    • board_define.h मा माथिको खण्ड परिभाषित गर्नुहोस्:
      • #परिभाषित AT_NONCACHEABLE_SECTION_ALIGN_DTC(var, alignbytes) \
      • विशेषता__((खण्ड(“.bss.$SRAM_DTC_cm7,\"aw\",%nobits @"))) var
      • विशेषता__((पङ्क्तिबद्ध(पङ्क्तिबद्ध बाइट्स)))
    • हेडर समावेश गर्नुहोस् file lvgl_gui_face_rec_cm7.cpp मा समावेश app_config.h मा म्याक्रो परिभाषा DTC_OPTIMIZE_BUFFER_SIZE समावेश hal_vision_algo.h।
  7. अनुहार पहिचानमा प्रगति स्थिति देखाउनको लागि चर s_debugOption लाई true मा सेट गर्नुहोस्।
  8. हेडरको खोजी मार्ग थप्नुहोस् fileपरियोजनामा ​​दृष्टि HAL को s > गुणहरू > C/C++ निर्माण > सेटिङहरू > उपकरण सेटिङहरू > MCU C कम्पाइलर > समावेश र MCU C++ कम्पाइलर > समावेश गर्दछ: “${workspace_loc:/${ProjName}/framework/hal/vision}”
  9. board_define.h मा दृष्टि algo HAL सक्षम गर्न तलको परिभाषा थप्नुहोस्: #define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec

आउटपुट UI HAL सक्षम गर्नुहोस्
आउटपुट UI HAL ले घटनाहरू दृश्य algo HAL लाई सूचित गर्दछ र भिजन algo HAL बाट निष्कर्ष नतिजाहरूमा प्रतिक्रिया दिन्छ। GUI एपको साथमा, घटनाहरू सामान्यतया एपद्वारा ट्रिगर हुन्छन् र परिणामहरू एपमा देखाइन्छ।

यसलाई सक्षम गर्न, अवस्थित समान HAL ड्राइभर क्लोन गर्नुहोस् file जहाँ सामान्यतया तलका कार्यहरू लागू हुन्छन्:

  • अनुहार पहिचान र डाटाबेस पहुँचका लागि घटनाहरूलाई सूचित गर्नुहोस्।
  • घटनाहरू ट्रिगर गर्न GUI एपको लागि कलब्याकहरू लागू गर्नुहोस्।
  • भिजन एल्गो मोड्युलबाट अनुमान परिणामहरू ह्यान्डल गर्नुहोस्।
  • टाइमर र अनुहार गाइड आयत संग नियन्त्रित प्रगति पट्टी द्वारा UI मा ह्यान्डलिंग घटनाहरूको प्रक्रिया र परिणामहरू देखाउनुहोस्।

पूर्वका लागि HAL कार्यान्वयन गर्ने प्रमुख कार्यहरूampयस कागजातमा प्रयोग गरिएको le हो:

  • अवस्थित समान HAL ड्राइभर क्लोन गर्नुहोस् file र सम्बन्धित नामहरू परिवर्तन गर्नुहोस्।
  • एपसँग सम्बन्धित कोडहरू हटाउनुहोस्।
  • पूर्व प्रति घटना सूचना र परिणाम प्रतिक्रिया लागि प्रकार्यहरू अद्यावधिक गर्नुहोस्ampले डिजाइन।
  • घटनाहरू ट्रिगर गर्न GUI एपको लागि कलब्याकहरू थप्नुहोस्।

विस्तृत चरणहरू निम्नानुसार छन्:

  1. क्लोन hal_output_ui_coffee_machine.c. परिवर्तन गर्नुहोस् filehal_ output_ui_guifacerec.c लाई नाम
  2. सबै स्ट्रिङहरू CoffeeMachine लाई GUIFaceRec मा बदल्नुहोस् file.
  3. एपसँग सम्बन्धित कोडहरू हटाउनुहोस् - कफी मेसिन।
    • कार्यहरू हटाउनुहोस् WakeUp() र _StandBy() र सम्बन्धित कोडहरू (स्ट्रिङ wake_up र तिनीहरूका लागि स्ट्यान्डबाइ खोज्न सक्छ)।
    • पूर्व हटाउनुहोस्view HAL_OutputDev_UiGUIFaceRec_Input Notify() मा सम्बन्धित कोड ह्यान्डल गर्ने मोड घटनाहरू।
    • कार्यहरू UI_xxx_Callback() र gui_set_virtual_face() बाहेक कफी मेसिनको GUI सँग सम्बन्धित string gui_ र स्क्रिन समावेश गरिएका कोडहरू हटाउनुहोस्।view मोड सुविधा।
    • कफी मेसिन एपसँग सम्बन्धित s_IsWaitingAnotherSelection र s_IsWaitingRegisterSelection चरहरूसँग संलग्न सबै कोडहरू हटाउनुहोस्।
    • आवाज, अडियो र भाषासँग सम्बन्धित कोडहरू हटाउनुहोस्। पूर्वका लागिampLe:
      • # "hal_voice_algo_asr_local.h" समावेश गर्नुहोस्,
      • # "hal_event_descriptor_voice.h" समावेश गर्नुहोस्
  4. विभिन्न घटनाहरूको सूचनाको लागि, नयाँ प्रकार्यहरू लागू गर्नुहोस् _OutputManagerNotify(), _SetFaceRec(), _RegisterGUIFaceRec(), र DeregisterGUIFaceRec() कार्यहरू _StopFaceRec(), _RegisterCoffeeSelection(), र DeregisterCoffee(deregisterCoffe) लाई उल्लेख गर्दै।
    • _OutputManagerNotify() ले भिजन algo HAL मा घटना पठाउन आधारभूत घटना आउटपुट प्रकार्य लागू गर्दछ। तलका प्रकार्यहरूले यसलाई आफ्नै घटनाहरू पठाउन कल गर्दछ।
    • _SetFaceRec() ले घटना kEventFaceRecID_OasisSetState लाई अनुहार दर्ता, पहिचान र अल्गो रोक्नको लागि भिजन एल्गो ट्रिगर गर्न पठाउँछ।
    • _RegisterGUIFaceRec() ले घटना kEventFaceRecId_RegisterGUIFaceRec पठाउँछ जुन smart_tlhmi_event_descriptor.h मा परिभाषित गरिएको छ र दर्ता ठीक हुँदा डाटाबेसमा अनुहार सुविधा डेटा थप्न।
    • DeregisterGUIFaceRec() ले घटना kEventFaceRecID_DelUser लाई अनुहार पहिचान पास गर्दा डेटाबेसबाट अनुहार सुविधा डेटा मेटाउन पठाउँछ।
  5. अनुहार दर्ता र पहिचानको फंक्शन _InferComplete_Vision() प्रति भूतपूर्वको निष्कर्षको लागि LVGL GUI एपबाट API लाई कल गरेर GUI रिफ्रेस सहित सम्बन्धित कार्यहरू गर्न कोडहरू अपडेट गर्नुहोस्।ampले डिजाइन। पूर्वका लागिampले, जब अनुहार दर्ता सफल हुन्छ,
    • _FaceRecProcess_Stop() लाई कल गरेर प्रगति देखाउन रोक्नुहोस्;
    • _SetFaceRec(kOASISLiteState_Stopped) लाई कल गरेर अनुहार दर्ता रोक्नुहोस्;
    • GUI मा सफल नतिजा देखाउनुहोस्: gui_show_face_rec_result(kFaceRecResult_OK, s_UserId);
    • डाटाबेसमा अनुहार डेटा दर्ता गर्नुहोस्: _RegisterUserFace(s_UserId);
  6. घटनाहरू ह्यान्डल गर्न UI कलब्याक प्रकार्यहरू थप्नुहोस्: पूर्वview, अनुहार दर्ता, पहिचान, र GUI बाट ट्रिगर गरिएको प्रयोगकर्ता मेटाउने। पूर्वका लागिample, अनुहार दर्ता कलब्याक: शून्य UI_Registration_Callback(){ _SetFaceRec(kOASISLiteState_Registration); _FaceRecProcess_Start(); }
    • र प्रकार्यहरू थप्नुहोस् _FaceRecProcess_Start() र _FaceRecProcess_Stop() विभिन्न घटना र परिणामहरूमा प्रगति र स्थिति देखाउन।
    • टाइमर ISR कलब्याक प्रकार्य _SessionTimer_Callback() लाई कल गरेर टाइम-आउटको केस ह्यान्डल गर्न अपडेट गर्नुहोस्: gui_show_face_rec_result(kFaceRecResult_TimeOut, s_UserId);
  7. board_define.h मा UI आउटपुट HAL सक्षम गर्न तलका परिभाषाहरू थप्नुहोस्: #define ENABLE_OUTPUT_DEV_UiGUIFaceRec

सूचना:
अनुहार पहिचान सुविधा राम्रोसँग प्रस्तुत गर्न, आउटपुट UI HAL मा अनुहार पहिचानको प्रक्रिया र परिणामहरू देखाउन प्रकार्य राख्नुहोस्। प्रकार्य तल वर्णन गरिएको छ

  • अनुहार गाइड आयतले नीलो देखाउँछ, र प्रगति पट्टीले अनुहार दर्ता वा पहिचान सुरु गर्दा प्रगति देखाउँछ।
  • अनुहार दर्ता सफल हुँदा अनुहार गाइड आयत रातो देखाउँछ।
  • अनुहार पहिचान सफल हुँदा अनुहार गाइड आयतले हरियो देखाउँछ।
  • अनुहार गाइड आयत नीलो राख्छ, र टाइमर समाप्ति पछि कार्य असफल हुँदा प्रगति पट्टी पूर्ण प्रगति देखाउँछ। त्यस बिन्दुमा, अनुहार दर्ता वा पहिचान बन्द गर्नुहोस्।

प्रगति पट्टी र अनुहार गाइड आयत स्रोत बाइनरीमा निर्मित आइकनहरूको रूपमा प्रस्तुत गरिन्छ file फ्लैश मा प्रोग्राम गर्न को लागी। SDRAM मा आईकन डेटाका लागि सूचकहरू LoadIcons(APP_ICONS_BASE) आउटपुट UI HAL मा आउटपुट UI HAL यन्त्र प्रारम्भमा भनिने प्रकार्यमा सेटअप गरिन्छ। यसले प्रकार्यको लागि आइकन समर्थन लागू गर्नुपर्छ।

प्रतीक समर्थन लागू गर्नुहोस्

  1. 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ले SW।
    • चार प्रतिमाको लागि खोज मार्ग थप्नुहोस् fileक्यामेरा_पूर्वमा छview_resource.txt file स्रोत फोल्डरमा, उदाहरणका लागिample: आइकन ../resource/icons/process_bar_240x14.h
    • क्यामेरा_पूर्व कार्यान्वयन गर्नुहोस्view_resource_build.bat छविहरू निर्माण गर्न र बिन उत्पन्न गर्न आइकनहरू स्रोतहरू file camera_preview_resource.bin र जानकारी file resource_information_table.txt (चित्र 6 हेर्नुहोस्)।NXP-AN14263-Implement-LVGL-GUI फेस-रिकग्निसन-ऑन-फ्रेमवर-फिग- (13)
  2. SDRAM मा सुरु ठेगाना र app_config.h मा आइकनहरूको आकार परिभाषित गर्नुहोस्। ठेगाना GUI एपको छविहरूको छेउमा सुरु हुन्छ। साइज जानकारी मा उत्पन्न छ file। #परिभाषित APP_ICONS_BASE (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) #परिभाषित APP_ICONS_SIZE 0x107c40
  3. res_sh_mem नामको मेमोरी खण्डको तोकिएको आकारलाई app_config.h मा पुन: परिभाषित गरेर 0x200000 मा अपडेट गर्नुहोस्: #define RES_SHMEM_TOTAL_SIZE 0x200000 र परियोजना > गुणहरू > C/C++ बिल्ड > MCU सेटिङहरूमा सम्बन्धित सेटिङहरू।
  4. मुख्य APP_LoadResource() को प्रकार्यमा Flash बाट 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 कलब्याक प्रकार्यहरू UI स्क्रिनबाट घटनाहरू ह्यान्डल गर्न LVGL GUI एपद्वारा बोलाइन्छ। अर्कोतर्फ, आउटपुट UI HAL ले नतिजा र स्थिति देखाउन UI अद्यावधिक गर्न LVGL GUI एपबाट API लाई कल गर्छ। LVGL GUI एपको विकास अपेक्षाकृत स्वतन्त्र छ र खण्ड 4.3 मा प्रस्तुत गरिएको छ।

4.1.5 अनुहार पहिचानको लागि HAL उपकरणहरू र प्रबन्धकहरू सुरु गर्नुहोस्
सक्षम गरिएको भिजन अल्गो HAL र UI आउटपुट HAL र तिनीहरूका प्रबन्धकहरू मुख्यमा सुरु भएका छन् file
lvgl_gui_face_rec_cm7.cpp तलको रूपमा फ्रेमवर्कमा विकासको रूपान्तरणहरू पछ्याउँदै:

  1. हेडर समावेश गर्नुहोस् file कोड लाइन थपेर दुई HAL प्रबन्धकहरूसँग सम्बन्धित:
    • # "fwk_output_manager.h" समावेश गर्नुहोस्
    • # "fwk_vision_algo_manager.h" समावेश गर्नुहोस्
  2. HAL उपकरणहरू घोषणा गर्नुहोस्:
    • HAL_VALGO_DEV_DECLARE(OasisGUIFaceRec);
    • HAL_OUTPUT_DEV_DECLARE(UiGUIFaceRec);
  3. HAL उपकरणहरू दर्ता गर्नुहोस्:
    • HAL_VALGO_DEV_REGISTER(OasisGUIFaceRec, ret);
    • HAL_OUTPUT_DEV_REGISTER(UiGUIFaceRec, ret);
  4. प्रबन्धकहरू सुरु गर्नुहोस्:
    • FWK_MANAGER_INIT(VisionAlgoManager, ret);
    • FWK_MANAGER_INIT(आउटपुट प्रबन्धक, रिट);
  5. प्रबन्धकहरू सुरु गर्नुहोस्:
    • FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, ret);
    • FWK_MANAGER_START(आउटपुट प्रबन्धक, OUTPUT_MANAGER_TASK_PRIORITY, ret);
  6. प्रबन्धक कार्यहरूको प्राथमिकता परिभाषित गर्नुहोस्:
    • #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ले SW।

बोर्ड-स्तर समर्थन थप्नुहोस्

  1. board.h मा बोर्डमा फ्ल्याश उपकरणको लागि प्रयोग गरिएको FlexSPI को परिभाषाहरू थप्नुहोस्:
    • # BOARD_FLEXSPI FLEXSPI1 परिभाषित गर्नुहोस्
    • # BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1 परिभाषित गर्नुहोस्
    • # BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE परिभाषित गर्नुहोस्
  2. अपरेटरहरू र कन्फिगरेसनहरू प्रतिलिपि गर्नुहोस् 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\coffee\coffeeboard को स्रोतampले SW।
    • C/C++ बिल्ड > सेटिङ्हरूमा दायाँ क्लिक गरेपछि "निर्माणबाट स्रोत बहिष्कार गर्नुहोस्" अनचेक गर्नुहोस्। files' नाम र परियोजनामा ​​निर्माण गर्न सक्षम गर्नका लागि गुणहरू खोल्दै।
  3. समावेश हेडर परिवर्तन गर्नुहोस् fileनाम sln_flash_config.h लाई sln_flash_config_w25q256jvs.h मा sln_flash_config.c र flexspi_nor_flash_ops.h मा।
  4. मा FlexSPI1 घडी स्रोत सेट गर्नुहोस् file clock_config.c कफी मेसिन एपलाई सन्दर्भ गर्दै।

एडाप्टर र मध्य स्तर समर्थन थप्नुहोस्

  1. प्रतिलिपि गर्नुहोस् 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 नाम दिनुहोस्।
  2. फोल्डर प्रतिलिपि गर्नुहोस् fileसानाका लागि API हरू समावेश गर्ने प्रणाली fileप्रणाली र HAL चालक स्मार्ट HMI \coffee_machine\cm7\source\ बाट पूर्व सम्मampले SW। र नयाँ फोल्डरको लागि अपडेट गर्नुहोस्:
    • निर्माणको लागि यसमा "निर्माणबाट स्रोत बहिष्कार गर्नुहोस्" अनचेक गर्नुहोस्।
    • परियोजना सेटिङहरूमा यसको लागि समावेश मार्ग थप्नुहोस्: “${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.
  3. मिडल वेयर - सानो भएको फोल्डर littlefs प्रतिलिपि गर्नुहोस् fileप्रणाली SDK_2_13_0_ MIMXRT1170-EVK\middleware\ बाट पूर्व सम्मampले SW। र नयाँ फोल्डर अपडेट गर्नुहोस्:
    • निर्माणको लागि यसमा "निर्माणबाट स्रोत बहिष्कार गर्नुहोस्" अनचेक गर्नुहोस्।
    • परियोजना सेटिङहरूमा यसको लागि समावेश मार्ग थप्नुहोस्: “${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"

एप-स्तर समर्थन थप्नुहोस्

  1. मुख्य अपडेट गर्नुहोस् file lvgl_gui_face_rec_cm7.cpp:
    • हेडर समावेश गर्नुहोस् file फ्ल्याससँग सम्बन्धित file कोड लाइन थपेर प्रणाली HAL प्रबन्धक: # "fwk_flash.h" समावेश गर्नुहोस्।
    • घोषणा र दर्ता गर्नुहोस् file प्रणाली HAL उपकरण:
      • HAL_FLASH_DEV_DECLARE(Littlefs);
      • HAL_FLASH_DEV_REGISTER(Littlefs, ret);
        नोट: द file सबै यन्त्र प्रबन्धकहरू प्रकार्य APP_InitFramework() मा प्रारम्भ हुनु अघि प्रणाली HAL यन्त्र दर्ता हुनुपर्छ।
    • MPU कन्फिग गर्नका लागि APP_BoardInit() मा BOARD_ConfigMPU() प्रकार्यलाई कल गर्नुहोस्।
  2. सेट गर्नुहोस् 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ले SW।

LVGL GUI एप लागू गर्नुहोस्
फ्रेमवर्कमा आधारित LVGL GUI एपको विकासले API लाई आउटपुट UI HAL बाट कल गर्छ र API लाई UI HAL आउटपुट गर्न प्रदान गर्दछ (आउटपुट UI HAL को कार्यान्वयनको लागि खण्ड 4.1.3 हेर्नुहोस्)।

यद्यपि, LVGL GUI एपको विस्तृत कार्यान्वयन आवश्यकताहरू र अनुप्रयोगको डिजाइनमा निर्भर गर्दछ। यस पूर्व मा GUI एपample खण्ड 4 को सुरुमा वर्णन गरिए अनुसार डिजाइन गरिएको छ।

तल कार्यान्वयन परिचयहरू छन्:

  1. अनुकूलित कोडहरू GUI गाइडरद्वारा दिइएको custom.c र custom.h मा GUI गाइडर परियोजना र इम्बेडेड प्रणाली परियोजना बीचको इन्टरफेसको रूपमा लागू गरिन्छ।
    •  निम्न प्रकार्यहरू प्राप्त गर्न custom.c मा gui_xxx() नामक नयाँ प्रकार्यहरू थप्नुहोस्:
      • आउटपुट UI HAL र GUI एपको लागि UI अद्यावधिक गर्न।
      • GUI एपको लागि आउटपुट UI HAL बाट UI कलब्याक प्रकार्यहरू कल गरेर घटनाहरू ट्रिगर गर्न।
        पूर्वका लागिample, नयाँ प्रकार्य gui_event_face_rec_action() ले UI कलब्याक प्रकार्यहरूलाई अनुहार दर्ता, अनुहार पहिचान र GUI एपबाट ट्रिगर गरिएको प्रयोगकर्ता मेटाउने घटनाहरू ह्यान्डल गर्न कल गर्दछ जब सम्बन्धित बटन क्लिक गरिन्छ।
        नोट: प्रकार्य gui_set_virtual_face() लाई पूर्वको लागि आउटपुट UI HAL मा भनिन्छview मोड custom.c मा लागू गर्न आवश्यक छ:
    •  क्लोन प्रकार्य gui_set_virtual_face() स्मार्ट HMI\coffee_machine\cm4\custom\custom.c बाट।
    •  विजेटको नाम home_img_cameraPre परिवर्तन गर्नुहोस्view screen_img_camera_pre माview समारोह मा।
    •  म्याक्रो परिभाषा #ifndef RT_PLATFORM को नियन्त्रण अन्तर्गत आउटपुट UI HAL मा सबैलाई समान प्रोटोटाइपको साथ UI कलब्याक प्रकार्यहरू लागू गर्नुहोस् custom.c मा GUI गाइडर प्रोजेक्टसँग उपयुक्त हुनको लागि किनभने यी कार्यहरू आउटपुट UI HAL मा निर्भर छन्। एम्बेडेड प्लेटफर्म। Custom.c मा, तिनीहरू GUI गाइडरमा सिम्युलेटरमा निर्भर छन् र इम्बेडेड प्लेटफर्ममा स्वतन्त्र छन्। पूर्वका लागिample, अनुहार दर्ता कलब्याक GUI गाइडर सिम्युलेटर चलिरहेको लागि तल लागू गरिएको छ: #ifndef RT_PLATFORM void UI_Registration_Callback() { gui_hide_del_user_btn(true); s_InAction = गलत; फर्किनु; }
      नोट: खण्ड 6 को चरण 4.1.3 मा प्रस्तुत गरिएको प्रकार्यको समान प्रोटोटाइपलाई सन्दर्भ गर्नुहोस्।
      म्याक्रो परिभाषा RT_PLATFORM MCUXpresso को परियोजना सेटिङहरूमा चित्र 7 मा देखाइएको रूपमा सेट गरिएको छ:NXP-AN14263-Implement-LVGL-GUI फेस-रिकग्निसन-ऑन-फ्रेमवर-फिग- (14)
    • custom.h मा UI_xxx_Callback() र gui_xxx() नामक सबै प्रकार्यहरू घोषणा गर्नुहोस् र UI आउटपुट HAL मा GUI API हरू साझेदारी गर्न smart_tlhmi_event_descriptor.h मा समावेश custom.h थप्नुहोस्।
  2. GUI गाइडरमा GUI विकास गर्नुहोस्:
    • फोल्डर क्यामेरा पूर्व क्लोनview आधार सफ्टवेयर प्याकेज lvgl_gui_camera_pre मा फोल्डर gui_guider मा GUI गाइडर परियोजना सफ्टवेयर समावेशview_cm7। सम्बन्धित नाम क्यामेरा_पूर्व परिवर्तन गर्नुहोस्view नयाँ पूर्वको लागि फेस_रेक गर्नample।
    • माथिको अद्यावधिक गरिएको custom.c र custom प्रतिलिपि गर्नुहोस्। h नयाँ GUI गाइडर परियोजना सफ्टवेयरमा।
    •  GUI गाइडरमा नयाँ face_rec परियोजना खोल्नुहोस्। तलको रूपमा अद्यावधिक गर्नुहोस्:
      • प्रयोगकर्ता मेटाउनुहोस् लेबल गरिएको नयाँ बटन थप्नुहोस्। यसमा लुकेको झण्डा थप्नुहोस् ताकि GUI एप सुरु हुँदा बटन लुकाइनेछ।
      • एपिआई gui_event_face_rec_action() लाई विभिन्न घटना ID मापदण्डको साथ "रिलिज" ट्रिगरमा अनुहार दर्ता, अनुहार पहिचान र प्रयोगकर्ता मेटाउने घटनाहरू ट्रिगर गर्नका लागि सबै बटनहरू दर्ता, पहिचान र मेटाउने प्रयोगकर्ताको घटना सेटिङमा कल गर्ने कोड लाइन थप्नुहोस्। चित्र 8 ले बटन दर्ताको घटनाको लागि कोड देखाउँछ:NXP-AN14263-Implement-LVGL-GUI फेस-रिकग्निसन-ऑन-फ्रेमवर-फिग- (15)
  3. MCUXpresso परियोजनामा ​​GUI गाइडरबाट उत्पन्न कोड अपडेट गर्नुहोस्।
    • MCUXpresso परियोजना SW को उत्पन्न फोल्डरमा फोल्डर छविहरू बाहेक सामग्रीहरू GUI गाइडर परियोजना SW द्वारा उत्पन्न फोल्डरमा सम्बन्धितसँग बदल्नुहोस्।

नोट: माथि प्रस्तुत गरिएका परिमार्जनहरूको बारेमा थप विवरणहरूको लागि, पूर्व जाँच गर्नुहोस्ample सफ्टवेयर मा https://mcuxpresso.nxp.com/appcodehub.

पूर्व संग प्रमाणीकरणampले परियोजना

पूर्व प्राप्त गर्नampयो एप्लिकेसन नोटको लागि स्रोत र उपकरणहरू भएको ले सफ्टवेयर प्याकेज, भ्रमण गर्नुहोस्: https://mcuxpresso.nxp.com/appcodehub। पूर्व खोल्नुहोस्ampMCUXpresso IDE मा ले परियोजना। .axf निर्माण र कार्यक्रम गर्नुहोस् file 0x30000000 ठेगानामा र संसाधन बिन प्रोग्राम गर्नुहोस् file camera_preview_resource.bin ठेगाना 0x30800000 मा।

LVGL GUI अनुहार पहिचान पूर्वampले सामान्य रूपमा तलको रूपमा काम गर्दछ:

  • प्रिview: पावर अप संग, क्यामेरा द्वारा कैद गरिएको भिडियो स्ट्रिमहरू क्यामेरा पूर्व को विशिष्ट क्षेत्र मा देखाउँछview GUI स्क्रिनमा। स्थिति लेबल "पूर्वview…”। विवरणहरूको लागि, चित्र 3 हेर्नुहोस्। बटन मेटाउनुहोस् प्रयोगकर्ता लुकेको छ। बटनहरू र छविहरू बाहिरको क्षेत्रमा क्लिक गर्दा, यसले पूर्व देखाउँछview अनुहार दर्ता वा पहिचान कार्य समाप्त भएपछि माथिको रूपमा राज्य गर्नुहोस्।
  • दर्ता:
    • टार्टअप: जब दर्ता बटन क्लिक हुन्छ, अनुहार दर्ता सुरु हुन्छ। स्थिति लेबल "दर्ता ..." प्रदर्शन गर्न परिवर्तन हुन्छ, अनुहार गाइड आयत नीलो देखाउँछ, र प्रगति पट्टी प्रगति देखाउन सुरु हुन्छ। दर्ताका लागि प्रयोगकर्ताको अनुहार नीलो अनुहार गाइड आयतमा देखाइएको सुनिश्चित गर्नुहोस्।
    • सफलता: स्थिति लेबलले "दर्ता…ठीक छ" र दर्ता गरिएको प्रयोगकर्ता आईडी नम्बर देखाउँछ, अनुहार दर्ता आयत रातो हुन्छ यदि अनुहार दर्ता सफल भयो भने प्रगति पट्टीमा पूर्ण देखाउनु अघि।
    • असफलता -> टाइम आउट: स्थिति लेबलले "दर्ता…समय समाप्त" देखाउँछ यदि अनुहार दर्ता अझै असफल भएको छ जब प्रगति बारमा पूर्ण देखाउँछ।
    • विफलता -> नक्कल: स्थिति लेबलले "दर्ता...असफल" देखाउँछ, अनुहार गाइड आयत हरियो हुन्छ यदि दर्ता गरिएको अनुहार बारमा पूर्ण देखाउनु अघि पहिचान गरियो भने।
  • मान्यता:
    • स्टार्टअप: जब पहिचान बटन क्लिक गरिन्छ, अनुहार पहिचान सुरु हुन्छ। स्थिति लेबल "मान्यता ..." प्रदर्शन गर्न परिवर्तन हुन्छ, अनुहार गाइड आयत नीलो देखाउँछ, र प्रगति पट्टी प्रगति देखाउन सुरु हुन्छ। दर्ताका लागि प्रयोगकर्ताको अनुहार निलो अनुहार गाइड आयतमा देखाइएको सुनिश्चित गर्नुहोस्।
    • सफलता: स्थिति लेबलले "पहिचान…ठीक छ" र पहिचान गरिएको प्रयोगकर्ता आईडी नम्बर देखाउँछ, अनुहारको पहिचान सफल भएमा अनुहारको मार्गदर्शिका आयत हरियो हुन्छ यदि प्रगति पट्टीमा पूर्ण देखाउन अघि। बिन्दुमा, बटन मेटाउनुहोस् प्रयोगकर्ता देखा पर्दछ। यसको मतलब यो हो कि प्रयोगकर्तालाई पहिचान भएपछि मात्र मेटाउन अनुमति दिइन्छ।
    • रोग: स्थिति लेबलले "रिकोग्निसन...टाइम आउट" देखाउँदछ यदि अनुहार पहिचान अझै असफल भएको छ जब प्रगति बारमा पूर्ण देखिन्छ।
  • प्रयोगकर्ता मेट्नुहोस्: जब बटन "उपयोगकर्ता मेट्नुहोस्" क्लिक गरिन्छ, अनुहार पहिचान सफल भएपछि, स्थिति लेबल "उपयोगकर्ता मेटाउनुहोस् ... ठीक छ" प्रदर्शन गर्न फेस गाइड आयत नीलो बन्न र पट्टीमा पूर्ण देखाउने प्रगति देखाउन परिवर्तन हुन्छ। बटन मेटाउनुहोस् प्रयोगकर्ता फेरि लुकेको छ। पहिचान गरिएको अनुहार/प्रयोगकर्ता डाटाबेसबाट मेटाइन्छ। यसको मतलब यो अनुहार/प्रयोगकर्ता फेरि दर्ता नभएसम्म पहिचान गर्न सकिँदैन।

कागजातमा स्रोत कोडको बारेमा नोट गर्नुहोस्
Exampयस कागजातमा देखाइएको le कोडसँग निम्न प्रतिलिपि अधिकार र BSD-3-Clause इजाजतपत्र छ:

प्रतिलिपि अधिकार 2024 NXP पुन: वितरण र स्रोत र बाइनरी फारमहरूमा प्रयोग, परिमार्जन सहित वा बिना, निम्न सर्तहरू पूरा भएमा अनुमति दिइन्छ:

  1. स्रोत कोडको पुन: वितरणले माथिको प्रतिलिपि अधिकार सूचना, सर्तहरूको यो सूची र निम्न अस्वीकरण राख्नुपर्छ।
  2. बाइनरी फारममा पुन: वितरणले माथिको प्रतिलिपि अधिकार सूचना पुन: उत्पादन गर्नुपर्छ, सर्तहरूको यो सूची र कागजात र/वा अन्य सामग्रीहरूमा निम्न अस्वीकरण वितरणको साथ प्रदान गरिनु पर्छ।
  3. न त प्रतिलिपि अधिकार धारकको नाम वा यसका योगदानकर्ताहरूको नाम विशेष पूर्व लिखित अनुमति बिना यस सफ्टवेयरबाट व्युत्पन्न उत्पादनहरूलाई समर्थन वा प्रचार गर्न प्रयोग गर्न सकिन्छ।

यो सफ्टवेयर प्रतिलिपि अधिकार धारकहरू र योगदानकर्ताहरू "जस्तै छ" र कुनै पनि स्पष्ट वा निहित वारेन्टीहरू द्वारा प्रदान गरिएको छ, तर यसमा सीमित छैन, संलग्नताको निहित वारेन्टीहरू। उद्देश्य अस्वीकार गरिएको छ। कुनै पनि हालतमा प्रतिलिपि अधिकार धारक वा योगदानकर्ताहरू कुनै पनि प्रत्यक्ष, अप्रत्यक्ष, आकस्मिक, विशेष, अनुकरणीय, वा परिणामात्मक क्षतिहरूका लागि उत्तरदायी हुनेछैनन् (सहीत, तर सीमित छैन, उपरक्षित वा सेवाहरू, डेटा, वा नाफा वा व्यापार अवरोध) यद्यपि, कुनै पनि दायित्वको सिद्धान्तमा, चाहे सम्झौतामा, कडा दायित्व, वा गैर-सम्बन्धित होस्; यस सफ्टवेयरको प्रयोगबाट बाहिर कुनै पनि तरिका, यस्तो क्षतिको सम्भाव्यताको बारेमा सल्लाह दिए पनि।

संशोधन इतिहास

NXP-AN14263-Implement-LVGL-GUI फेस-रिकग्निसन-ऑन-फ्रेमवर-फिग- (16)

कानूनी जानकारी

परिभाषाहरू
मस्यौदा - कागजातमा रहेको मस्यौदा स्थितिले सामग्री अझै आन्तरिक पुन: अन्तर्गत रहेको संकेत गर्छview र औपचारिक स्वीकृतिको अधीनमा, जसको परिणाम परिमार्जन वा थप हुन सक्छ। NXP सेमीकन्डक्टरहरूले कागजातको मस्यौदा संस्करणमा समावेश गरिएको जानकारीको शुद्धता वा पूर्णताको रूपमा कुनै प्रतिनिधित्व वा वारेन्टी दिँदैन र त्यस्ता जानकारीको प्रयोगको परिणामहरूको लागि कुनै दायित्व हुनेछैन।

अस्वीकरण

  • सीमित वारेन्टी र दायित्व - यस कागजातमा जानकारी सही र भरपर्दो छ भन्ने विश्वास गरिन्छ। यद्यपि, NXP अर्धचालकहरूले त्यस्ता जानकारीको शुद्धता वा पूर्णताको रूपमा व्यक्त वा निहित कुनै प्रतिनिधित्व वा वारेन्टी दिँदैनन् र त्यस्ता जानकारीको प्रयोगको परिणामहरूको लागि कुनै दायित्व हुनेछैन। यदि NXP सेमीकन्डक्टरहरू बाहिरको जानकारी स्रोतद्वारा उपलब्ध गराइयो भने NXP Semiconductors ले यस कागजातको सामग्रीको लागि कुनै जिम्मेवारी लिने छैन।
    कुनै पनि अवस्थामा NXP सेमीकन्डक्टरहरू कुनै पनि अप्रत्यक्ष, आकस्मिक, दण्डात्मक, विशेष वा परिणामात्मक क्षतिहरूका लागि उत्तरदायी हुनेछैन (जसमा सीमा बिना - हराएको नाफा, हराएको बचत, व्यापार अवरोध, कुनै उत्पादन वा पुन: कार्य शुल्कहरू हटाउन वा प्रतिस्थापन सम्बन्धी लागतहरू)। वा त्यस्ता क्षतिहरू चोट (लापरवाही सहित), वारेन्टी, सम्झौताको उल्लङ्घन वा कुनै अन्य कानुनी सिद्धान्तमा आधारित हुन्छन्।
    जुनसुकै कारणले गर्दा ग्राहकलाई हुने कुनै पनि क्षतिको बाबजुद, यहाँ वर्णन गरिएका उत्पादनहरूका लागि NXP सेमीकन्डक्टरहरूको कुल र ग्राहकप्रतिको संचयी दायित्व NXP सेमीकन्डक्टरहरूको व्यावसायिक बिक्रीका नियम र सर्तहरू अनुसार सीमित हुनेछ।
  • परिवर्तन गर्ने अधिकार — NXP सेमीकन्डक्टरहरूले यस कागजातमा प्रकाशित जानकारीमा कुनै पनि समय र बिना सूचना बिना सीमा विनिर्देशहरू र उत्पादन विवरणहरू सहित परिवर्तन गर्ने अधिकार सुरक्षित गर्दछ। यस कागजातले यहाँ प्रकाशित हुनु अघि उपलब्ध गराइएका सबै जानकारीलाई हटाउँछ र प्रतिस्थापन गर्दछ।
  • प्रयोगको लागि उपयुक्तता — NXP सेमीकन्डक्टर उत्पादनहरू जीवन समर्थन, जीवन-महत्वपूर्ण वा सुरक्षा-महत्वपूर्ण प्रणाली वा उपकरणहरूमा प्रयोगको लागि उपयुक्त हुन डिजाइन, अधिकृत वा वारेन्टेड छैनन्, न त अनुप्रयोगहरूमा जहाँ NXP सेमीकन्डक्टर उत्पादनको असफलता वा खराबीले परिणामको अपेक्षा गर्न सकिन्छ। व्यक्तिगत चोट, मृत्यु वा गम्भीर सम्पत्ति वा वातावरणीय क्षति। NXP सेमिकन्डक्टरहरू र यसका आपूर्तिकर्ताहरूले त्यस्ता उपकरण वा अनुप्रयोगहरूमा NXP सेमीकन्डक्टर उत्पादनहरू समावेश र/वा प्रयोगको लागि कुनै दायित्व स्वीकार गर्दैनन् र त्यसैले यस्तो समावेश र/वा प्रयोग ग्राहकको आफ्नै जोखिममा हुन्छ।
  • अनुप्रयोगहरू - यी उत्पादनहरू मध्ये कुनैको लागि यहाँ वर्णन गरिएका अनुप्रयोगहरू चित्रण उद्देश्यका लागि मात्र हुन्। NXP अर्धचालकहरूले कुनै प्रतिनिधित्व वा वारेन्टी गर्दैनन् कि त्यस्ता अनुप्रयोगहरू थप परीक्षण वा परिमार्जन बिना निर्दिष्ट प्रयोगको लागि उपयुक्त हुनेछन्।
    NXP सेमीकन्डक्टर उत्पादनहरू प्रयोग गरेर आफ्ना एप्लिकेसनहरू र उत्पादनहरूको डिजाइन र सञ्चालनको लागि ग्राहकहरू जिम्मेवार छन्, र NXP सेमिकन्डक्टरहरूले अनुप्रयोगहरू वा ग्राहक उत्पादन डिजाइनमा कुनै पनि सहयोगको लागि कुनै दायित्व स्वीकार गर्दैनन्। NXP सेमीकन्डक्टर उत्पादन ग्राहकको एप्लिकेसन र योजना अनुसारका उत्पादनहरूका लागि, साथै योजनाबद्ध अनुप्रयोग र ग्राहकको तेस्रो पक्ष ग्राहक(हरू) को प्रयोगका लागि उपयुक्त र उपयुक्त छ कि छैन भनी निर्धारण गर्नु ग्राहकको एकमात्र जिम्मेवारी हो। ग्राहकहरूले उनीहरूको अनुप्रयोग र उत्पादनहरूसँग सम्बन्धित जोखिमहरू कम गर्न उपयुक्त डिजाइन र सञ्चालन सुरक्षाहरू प्रदान गर्नुपर्छ। NXP Semiconductors ले ग्राहकको एप्लिकेसन वा उत्पादनहरूमा भएको कुनै कमजोरी वा पूर्वनिर्धारितमा वा ग्राहकको तेस्रो पक्ष ग्राहक(हरू) द्वारा प्रयोग वा प्रयोगमा आधारित कुनै पनि पूर्वनिर्धारित, क्षति, लागत वा समस्यासँग सम्बन्धित कुनै दायित्व स्वीकार गर्दैन। ग्राहकको तेस्रो पक्ष ग्राहक(हरू) द्वारा एप्लिकेसन र उत्पादनहरू वा एप्लिकेसन वा प्रयोगको पूर्वनिर्धारित हुनबाट बच्न NXP सेमिकन्डक्टर उत्पादनहरू प्रयोग गरी ग्राहकका एप्लिकेसनहरू र उत्पादनहरूका लागि सबै आवश्यक परीक्षणहरू गर्नको लागि ग्राहक जिम्मेवार छ। NXP ले यस सम्बन्धमा कुनै दायित्व स्वीकार गर्दैन।
  • व्यापारिक बिक्रीको नियम र सर्तहरू — NXP सेमीकन्डक्टरका उत्पादनहरू https://www.nxp.com/pro मा प्रकाशित, व्यावसायिक बिक्रीको सामान्य नियम र सर्तहरूको अधीनमा बेचिन्छन्।file/सर्तहरू, मान्य लिखित व्यक्तिगत सम्झौतामा अन्यथा सहमत नभएसम्म। यदि एक व्यक्तिगत सम्झौता निष्कर्षमा पुग्छ भने सम्बन्धित सम्झौताका सर्तहरू मात्र लागू हुनेछन्। NXP Semiconductors यसद्वारा ग्राहकद्वारा NXP Semiconductors उत्पादनहरू खरिद गर्ने सम्बन्धमा ग्राहकका सामान्य नियम र सर्तहरू लागू गर्न स्पष्ट रूपमा आपत्ति जनाउँछन्।
  • निर्यात नियन्त्रण - यो कागजात साथै यहाँ वर्णन गरिएको वस्तु(हरू) निर्यात नियन्त्रण नियमहरूको अधीनमा हुन सक्छ। निर्यातका लागि सक्षम अधिकारीहरूबाट पूर्व प्राधिकरण आवश्यक हुन सक्छ।
  • गैर-अटोमोटिभ योग्य उत्पादनहरूमा प्रयोगको लागि उपयुक्तता — जबसम्म यो कागजातले स्पष्ट रूपमा यो विशिष्ट NXP सेमीकन्डक्टर उत्पादन अटोमोटिभ योग्य छ भनी बताउँदैन, उत्पादन अटोमोटिभ प्रयोगको लागि उपयुक्त छैन। यो न त योग्य छ न त मोटर वाहन परीक्षण वा आवेदन आवश्यकताहरु अनुसार परीक्षण। NXP सेमीकन्डक्टरहरूले अटोमोटिभ उपकरण वा अनुप्रयोगहरूमा गैर-अटोमोटिभ योग्य उत्पादनहरूको समावेश र/वा प्रयोगको लागि कुनै दायित्व स्वीकार गर्दैन।
    ग्राहकले अटोमोटिभ स्पेसिफिकेशन्स र मापदण्डहरूमा डिजाईन-इन र अटोमोटिभ एप्लिकेसनहरूमा प्रयोगको लागि उत्पादन प्रयोग गरेको घटनामा, ग्राहक (क) ले त्यस्ता अटोमोटिभ अनुप्रयोगहरू, प्रयोग र विशिष्टताहरूका लागि उत्पादनको NXP सेमीकन्डक्टरको वारेन्टी बिना उत्पादन प्रयोग गर्नेछ, र ( b) ग्राहकले NXP सेमीकन्डक्टरको स्पेसिफिकेशनभन्दा बाहिरको अटोमोटिभ एप्लिकेसनका लागि उत्पादन प्रयोग गर्दा यस्तो प्रयोग ग्राहकको आफ्नै जोखिममा हुनेछ, र (c) ग्राहकले NXP सेमिकन्डक्टरहरूलाई कुनै दायित्व, क्षति वा असफल उत्पादन दाबीहरूको लागि पूर्ण क्षतिपूर्ति गर्दछ। NXP सेमीकन्डक्टरको मानक वारेन्टी र 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 सक्षम, NEON, POP, RealView, SecurCore, Socrates, Thumb, TrustZone, ULINK, ULINK2, ULINK-ME, ULINK-PLUS, ULINKpro, μVision, Versatile — संयुक्त राज्य अमेरिका र/वा आर्म लिमिटेड (वा यसका सहायक वा सम्बद्ध कम्पनीहरू) को ट्रेडमार्क र/वा दर्ता गरिएका ट्रेडमार्कहरू हुन्। अन्यत्र। सम्बन्धित प्रविधि कुनै पनि वा सबै पेटेन्ट, प्रतिलिपि अधिकार, डिजाइन र व्यापार गोप्य द्वारा सुरक्षित हुन सक्छ। सबै अधिकार सुरक्षित।

  • i.MX - NXP BV को ट्रेडमार्क हो
  • जे-लिंक — SEGGER Microcontroller GmbH को ट्रेडमार्क हो।

Microsoft, Azure, र ThreadX — कम्पनीहरूको Microsoft समूहका ट्रेडमार्कहरू हुन्।

कृपया ध्यान दिनुहोस् कि यस कागजात र यहाँ वर्णन गरिएका उत्पादन (हरू) सम्बन्धी महत्त्वपूर्ण सूचनाहरू खण्ड 'कानूनी जानकारी' मा समावेश गरिएको छ।

© 2024 NXP BV
थप जानकारीको लागि, कृपया भ्रमण गर्नुहोस्: https://www.nxp.com

  • रिलीज मिति: १२ अप्रिल २०२४
  • कागजात पहिचानकर्ता: AN14263

FAQ

प्रश्न: यो उत्पादन को मुख्य उद्देश्य के हो?
A: मुख्य उद्देश्य एआई एन्ड एमएल भिजन एल्गोरिथ्म मोडेल प्रयोग गरेर अनुहार पहिचान प्रकार्य सक्षम गर्नु हो एक साधारण LVGL GUI पूर्वampSLN-TLHMI-IOT बोर्डमा।

प्रश्न: विकासकर्ताहरूले कसरी यस एप्लिकेसन नोटबाट फाइदा लिन सक्छन्?
A: विकासकर्ताहरूले प्रदान गरिएको पूर्व प्रयोग गरी चरणबद्ध रूपमा फ्रेमवर्कमा अनुहार पहिचान कसरी लागू गर्ने भनेर सिक्न सक्छन्ample र संलग्न उपकरण प्रबन्धकहरू, HAL उपकरणहरू, र घटना संयन्त्रहरू बुझ्न।

कागजातहरू / स्रोतहरू

NXP AN14263 Framewor मा LVGL GUI अनुहार पहिचान लागू गर्नुहोस् [pdf] प्रयोगकर्ता गाइड
AN14263 Framewor मा LVGL GUI फेस रिकग्निसन, AN14263, Framewor मा LVGL GUI फेस रिकग्निसन, Framewor मा LVGL GUI फेस रिकग्निसन, Framewor मा अनुहार पहिचान, Framewor मा पहिचान,

सन्दर्भहरू

एक टिप्पणी छोड्नुहोस्

तपाईंको इमेल ठेगाना प्रकाशित गरिने छैन। आवश्यक क्षेत्रहरू चिन्ह लगाइएका छन् *