NXP AN14263 ינסטרומענט LVGL GUI פּנים דערקענונג אויף פראַמעוואָר
פּראָדוקט אינפֿאָרמאַציע
ספּעסאַפאַקיישאַנז
- פּראָדוקט נאָמען: LVGL GUI פּנים דערקענונג אויף פראַמעוואָרק
- דאָקומענט רעוויזיע: 1 - 19 אפריל 2024
- טערמינען: פּנים דערקענונג, LVGL GUI, Framework
פּראָדוקט באַניץ אינסטרוקציעס
- איבערview
דער פּראָדוקט ינייבאַלז AI&ML זעאונג אַלגערידאַם מאָדעל פֿאַר פּנים דערקענונג אויף אַ פריימווערק צו ינסטרומענט פּנים דערקענונג פונקציע מיט אַ פּשוט LVGL GUI עקס.ampאויף די SLN-TLHMI-IOT ברעט. - פריימווערק איבערview
די לייזונג ווייכווארג איז דיזיינד אַרום די פריימווערק אַרקאַטעקטשער וואָס כולל מיטל מאַנאַדזשערז פאַראַנטוואָרטלעך פֿאַר אָנפירונג דעוויסעס, HAL דעוויסעס צו אַבסטראַקט אַנדערלייינג דעטאַילס און געשעענישן פֿאַר קאָמוניקאַציע צווישן פאַרשידענע דעוויסעס. - פֿעיִקייטן
דער פּראָדוקט אַלאַוז די ימפּלאַמענטיישאַן פון פּנים דערקענונג פֿונקציע דורך אַפּאַראַט פאַרview אויף די GUI פאַרשטעלן מיט קנעפּלעך צו צינגל פּנים רעגיסטראַציע, דערקענונג און באַזייַטיקונג. רעגיסטרירט פּנים דאַטן זענען סטאָרד אויף פלאַש דורך אַ file סיסטעם. - אַפּפּליקאַטיאָן באַמערקונג אינהאַלט
די אַפּלאַקיישאַן נאָטיץ גיט אַ LVGL GUI פאַרשטעלן מיט אַפּאַראַט פאַרview און קנעפּלעך פֿאַר פּנים-פֿאַרבונדענע אַקשאַנז. עס העלפּס דעוועלאָפּערס צו פֿאַרשטיין די פריימווערק און ווי צו ינסטרומענט פּנים דערקענונג מיט די צוגעשטעלט עקסample.
איבערview
NXP האט לאָנטשט אַ לייזונג אַנטוויקלונג ינווענטאַר מיט די נאָמען SLN-TLHMI-IOT וואָס פאָוקיסיז אויף קלוג HMI אַפּלאַקיישאַנז. עס ינייבאַלז קלוג HMI מיט ML זעאונג, קול און גראַפיקס וי ימפּלאַמענאַד אויף איין NXP i.MX RT117H MCU. באַזירט אויף די SDK, די לייזונג ווייכווארג איז קאַנסטראַקטאַד אויף אַ פּלאַן גערופֿן פריימווערק וואָס שטיצט פלעקסאַבאַל דיזיינז און קוסטאָמיזאַטיאָן פון זעאונג און קול פאַנגקשאַנז. צו העלפֿן ניצערס צו בעסער נוצן די ווייכווארג פּלאַטפאָרמע, עטלעכע יקערדיק דאָקומענטן זענען צוגעשטעלט, למשלample, די ווייכווארג אַנטוויקלונג באַניצער פירער. דער פירער ינטראַדוסיז די יקערדיק ווייכווארג פּלאַן און אַרקאַטעקטשער פון די אַפּלאַקיישאַנז וואָס דעקן אַלע קאַמפּאָונאַנץ פון די לייזונג, אַרייַנגערעכנט די פריימווערק, צו העלפֿן דעוועלאָפּערס מער לייכט און יפישאַנטלי ינסטרומענט זייער אַפּלאַקיישאַנז מיט די SLN-TLHMI-IOT.
פֿאַר מער דעטאַילס וועגן די לייזונג און באַטייַטיק דאָקומענטן, באַזוכן די web בלאַט פון די NXP EdgeReady Smart HMI לייזונג באזירט אויף i.MX RT117H מיט ML Vision, Voice און Graphical UI. אָבער, עס איז נאָך נישט אַזוי גרינג פֿאַר די דעוועלאָפּערס צו ינסטרומענט זייער קלוג HMI אַפּלאַקיישאַנז ריפערינג צו די יקערדיק פירער. א סעריע פון אַפּלאַקיישאַן הערות זענען פּלאַננעד צו לערנען די אַנטוויקלונג פון די פריימווערק שריט דורך שריט. די אַפּלאַקיישאַן נאָטיץ איז באזירט אויף ימפּלעמענט LVGL GUI Camera Preview אויף פראַמעוואָרק (דאָקומענט AN14147). די אַפּלאַקיישאַן נאָטיץ באשרייבט ווי צו געבן די AI&ML זעאונג אַלגערידאַם מאָדעל פֿאַר פּנים דערקענונג אויף די פריימווערק צו ינסטרומענט די פּנים דערקענונג פונקציע דורך אַפּאַראַט פאַרview אויף די GUI פאַרשטעלן מיט אַ פּשוט LVGL GUI עקסampאויף די SLN-TLHMI-IOT ברעט. אין די אַפּלאַקיישאַן טאָן, די עקסample גיט אַ LVGL GUI פאַרשטעלן מיט אַ פאַר- אַפּאַראַטview און עטלעכע קנעפּלעך צו צינגל פּנים רעגיסטראַציע, דערקענונג און באַזייַטיקונג. די רעגיסטרירט פּנים דאַטן זענען סטאָרד אויף פלאַש דורך אַ ביסל file סיסטעם.
אויף אַ הויך מדרגה, די אַפּלאַקיישאַן טאָן כּולל די אונטן אינהאַלט:
- געבן די פּנים דערקענונג שטריך אויף די פריימווערק.
- לייג פּנים דאַטאַבייס שטיצן אויף די פריימווערק דורך file סיסטעם אויף פלאַש.
- ינסטרומענט די LVGL GUI אַפּ. דורך די אויבן ינטראַדאַקשאַנז, דעם דאָקומענט העלפּס די דעוועלאָפּערס צו:
- פֿאַרשטיין די פריימווערק און די קלוג HMI לייזונג ווייכווארג מער דיפּלי.
- אַנטוויקלען זייער AI&ML פּנים דערקענונג אויף פריימווערק מיט די LVGL GUI אַפּ.
פראַמעוואָרק איבערview
די לייזונג ווייכווארג איז בפֿרט דיזיינד אַרום די נוצן פון די פריימווערק אַרקאַטעקטשער וואָס איז קאַמפּאָוזד פון עטלעכע פאַרשידענע פּאַרץ:
- מיטל מאַנאַדזשערז - די האַרץ טייל
- ייַזנוואַרג אַבסטראַקציע שיכטע (HAL) דעוויסעס
- אַרטיקלען / געשעענישן
ווי געוויזן אין פיגורע 1, די איבערview די מעקאַניזאַם פון די פריימווערק איז:
מיטל מאַנאַדזשערז זענען פאַראַנטוואָרטלעך פֿאַר אָנפירונג דיווייסאַז געניצט דורך די סיסטעם. יעדער מיטל טיפּ (אַרייַן, רעזולטאַט, און אַזוי אויף) האט זייַן אייגן טיפּ-ספּעציפיש מיטל פאַרוואַלטער. מיט אַ מיטל פאַרוואַלטער סטאַרטינג נאָך די דעוויסעס זענען רעגיסטרירט צו עס, עס ווייץ און טשעקס אַ אָנזאָג צו אַריבערפירן דאַטן צו די דעוויסעס און אנדערע מאַנאַדזשערז נאָך ינישאַליזינג און סטאַרטינג די רעגיסטרירט דעוויסעס. די HAL דעוויסעס זענען געשריבן אויף שפּיץ פון די נידעריקער שאָפער קאָד, העלפּינג צו פאַרגרעסערן קאָד פאַרשטיייק דורך אַבסטראַקטינג פילע פון די אַנדערלייינג דעטאַילס.
געשעענישן זענען אַ מיטל דורך וואָס אינפֿאָרמאַציע איז קאַמיונאַקייטיד צווישן פאַרשידענע דעוויסעס דורך זייער מאַנאַדזשערז. ווען אַ געשעעניש איז טריגערד, די מיטל וואָס ערשטער באקומען די געשעעניש קאַמיוניקייץ די געשעעניש צו זיין פאַרוואַלטער, און דערנאָך נאָוטאַפייז אנדערע מאַנאַדזשערז דעזיגנייטיד צו באַקומען די געשעעניש.
די אַרקאַטעקטשעראַל פּלאַן פון די פריימווערק איז געווען סענטערד אויף דריי ערשטיק צילן:
- יז-פון-נוצן
- פלעקסיביליטי / פּאָרטאַביליטי
- פאָרשטעלונג
די פריימווערק איז דיזיינד מיט דער ציל צו פאַרגיכערן די צייט צו מאַרק פֿאַר זעאונג און אנדערע מאַשין-לערנען אַפּלאַקיישאַנז. צו ענשור אַ שנעל צייט צו מאַרק, עס איז קריטיש אַז די ווייכווארג זיך איז גרינג צו פֿאַרשטיין און מאָדיפיצירן. בעכעסקעם דעם ציל אין זינען, די אַרקאַטעקטשער פון די פריימווערק איז גרינג צו מאָדיפיצירן אָן ריסטריקטיוו און אָן די פּרייַז פון פאָרשטעלונג.
פֿאַר מער דעטאַילס וועגן די פריימווערק, זען Smart HMI ווייכווארג אַנטוויקלונג באַניצער גייד (Dokument MCU-SMHMI-SDUG).
ליכט און ווערסאַטאַל גראַפיקס ביבליאָטעק (LVGL)
LVGL (ליכט און ווערסאַטאַל גראַפיקס ביבליאָטעק) איז אַ פריי און אָפֿן-מקור גראַפיקס ביבליאָטעק וואָס גיט אַלץ איר דאַרפֿן צו שאַפֿן אַן עמבעדיד GUI מיט גרינג-צו-נוצן גראַפיקאַל עלעמענטן, שיין וויזשאַוואַל יפעקץ און נידעריק זכּרון שפּור.
GUI Guider
GUI Guider איז אַ באַניצער-פרייַנדלעך גראַפיקאַל באַניצער צובינד אַנטוויקלונג געצייַג פֿון NXP וואָס ינייבאַלז גיך אַנטוויקלונג פון הויך קוואַליטעט דיספּלייז מיט די אָפֿן-מקור LVGL גראַפיקס ביבליאָטעק. די שלעפּן-און-קאַפּ רעדאַקטאָר פון GUI Guider מאכט עס גרינג צו נוצן פילע פֿעיִקייטן פון LVGL אַזאַ ווי ווידזשיץ, אַנאַמיישאַנז און סטיילז צו שאַפֿן אַ GUI מיט מינימאַל אָדער קיין קאָדירונג.
מיט דעם גיט פון אַ קנעפּל, איר קענען לויפן דיין אַפּלאַקיישאַן אין אַ סימיאַלייטיד סוויווע אָדער אַרויספירן עס צו אַ ציל פּרויעקט. דזשענערייטאַד קאָד פֿון GUI Guider קענען לייכט זיין מוסיף צו דיין פּרויעקט, אַקסעלערייטינג די אַנטוויקלונג פּראָצעס און אַלאַוינג איר סימלאַס צו לייגן אַן עמבעדיד באַניצער צובינד צו דיין אַפּלאַקיישאַן. GUI Guider איז פריי צו נוצן מיט NXP ס אַלגעמיין ציל און קראָסאָוווער MCUs און ינקלודז געבויט-אין פּרויעקט טעמפּלאַטעס פֿאַר עטלעכע געשטיצט פּלאַטפאָרמס. צו לערנען מער וועגן LVGL און GUI אַנטוויקלונג אויף GUI Guider, טשעק ליכט און ווערסאַטאַל גראַפיקס ביבליאָטעק און GUI Guider.
אַנטוויקלונג סוויווע
ערשטער, צוגרייטן און שטעלן אַרויף די ייַזנוואַרג און ווייכווארג סוויווע פֿאַר ימפּלאַמענינג די עקסampלאַ אויף די פריימווערק.
ייַזנוואַרג סוויווע
די ייַזנוואַרג סוויווע איז באַשטימט פֿאַר וועראַפייינג די עקסampלאַ:
- די קלוג HMI אַנטוויקלונג ינווענטאַר באזירט אויף NXP i.MX RT117H (די SLN_TLHMI_IOT קיט)
- SEGGER J-Link מיט אַ 9-שפּילקע Cortex-M אַדאַפּטער און V7.84a אָדער אַ נייַער ווערסיע פון די שאָפער
ווייכווארג סוויווע
די ווייכווארג סוויווע איז באַשטימט פֿאַר דעוועלאָפּינג די עקסampלאַ:
- MCUXpresso IDE V11.7.0
- GUI Guider V1.6.1-GA
- lvgl_gui_camera_preview_cm7 - עקסampדי קאָד פון די רגע אַפּלאַקיישאַן טאָן ווי די יקער ווייכווארג פון דער אַנטוויקלונג. פֿאַר פרטים, זען https://mcuxpresso.nxp.com/appcodehub.
- RT1170 SDK V2.13.0 - ווי די קאָד מיטל פֿאַר אַנטוויקלונג.
- SLN-TLHMI-IOT ווייכווארג V1.1.2 - קלוג HMI מקור קאָד באפרייט אויף די NXP GitHub ריפּאַזאַטאָרי ווי די קאָד מיטל פֿאַר אַנטוויקלונג. פֿאַר דעטאַילס, זען: GitHub - NXP/mcu-smhmi at v1.1.2
פֿאַר דעטאַילס וועגן די אַקוויירינג און סעטאַפּ פון די ווייכווארג סוויווע, זען: באַקומען סטאַרטעד מיט די SLN-TLHMI-IOT.
זעאונג אַרקאַטעקטשער אויף פריימווערק
די זעאונג אַרקאַטעקטשער אויף די פריימווערק איז געוויזן אין פיגורע 2. די זעאונג אַלגאָ HAL (OASIS_HAL) האט די אונטן פּראַסעסאַז:
- טאָן פּנים רעגיסטראַציע און דערקענונג דורך די AI&ML זעאונג אַלגערידאַם מאָדעל נאָך ריסיווינג די פֿאַרבונדענע געשעענישן פֿון די פּראָדוקציע UI HAL. געבנ צו וויסן די רעזולטאַטן פון די אַלגערידאַם מאָדעל צו די רעזולטאַט UI HAL.
- אַקסעס (לייגן, ויסמעקן ...) די דאַטאַבייס פון די פּנים שטריך באזירט אויף די ביסל file סיסטעם דורך רופן די אַפּיס פון FaceDB HAL נאָך ריסיווינג די פֿאַרבונדענע געשעענישן פֿון דער רעזולטאַט UI HAL.
- בעטן די אַפּאַראַט ווידעא ראַם פון די אַפּאַראַט HAL ווען איר מאַכן פּנים רעגיסטראַציע און דערקענונג.
ינסטרומענט פּנים דערקענונג אויף די פריימווערק
די LVGL GUI פּנים דערקענונג עקסample (דער עקסample איז צוגעשטעלט שפּעטער) אויף די פריימווערק איז ימפּלאַמענאַד באזירט אויף די עקסampדי קאָודז פון ימפּלעמענט LVGL GUI קאַמעראַ פּרעview אויף פראַמעוואָרק (דאָקומענט AN14147).
פֿאַר דעמאַנסטרייטינג די פּנים דערקענונג אין די עקסampליי, די יקערדיק פונקציע פון די GUI אַפּ (זען די הויפּט פאַרשטעלן אין פיגורע 3) איז דיזיינד ווי דיסקרייבד אונטן:
- די GUI אַפּ טריגערז די פּנים רעגיסטראַציע אָדער דערקענונג געשעעניש צו די רעזולטאַט UI HAL ווען איר קליקט אויף די קנעפּל רעגיסטראַציע אָדער דערקענונג. און דער רעזולטאַט UI HAL נאָוטאַפייז די געשעעניש פון אַדינג אַ באַניצער צו די זעאונג אַלגאָ HAL נאָך די פּנים רעגיסטראַציע איז געראָטן.
- די GUI אַפּ טריגערז די געשעעניש פון דיליטינג אַ באַניצער צו דער רעזולטאַט UI HAL ווען קליקינג די קנעפּל ויסמעקן באַניצער נאָך דער פּנים פון דער באַניצער איז דערקענט.
- די GUI אַפּ טריגערז די געשעעניש פון סטאָפּפּינג די אָאַזיס אַלגאָ פליסנדיק צו די רעזולטאַט UI HAL ווען קליקינג אויף די פאַרשטעלן אַרויס די קנעפּלעך און בילדער.
צוגרייטן די ווייכווארג פּעקל פֿאַר די ימפּלאַמענטיישאַן פון די עקסample.
- קלאָון די באַזע ווייכווארג lvgl_gui_camera_preview_cm7. טוישן די פּרויעקט נאָמען און די הויפּט fileנאָמען צו lvgl_gui_face_rec_cm7.
- די פריימווערק איז דארף צו זיין דערהייַנטיקט אין די ווייכווארג ווייַל די מקור קאָודז פֿאַר די פריימווערק האַרץ האָבן סטאַרטעד צו זיין עפנטלעך אויף GitHub פֿון די ווערסיע 1.1.2.
- פאַרבייַטן די פריימווערק טעקע מיט די קאָפּיע פון V1.1.2 פֿון GitHub אַחוץ פֿאַר די files fwk_log.h און fwk_common.h אונטער ינק\ ווי זיי זענען מאַדאַפייד פֿאַר די סעריע פון אַפּפּליקאַטיאָנס. די אַפּעריישאַנז זענען געוויזן אין פיגורע 4:
- ויסמעקן די טעקע framework_cm7 אונטער די ליבס גרופּע און אַראָפּנעמען די ביבליאָטעק פריימווערק_cm7 און זיין זוכן דרך קאַנפיגיערד אין פּראָיעקט> פּראָפּערטיעס> C/C ++ בויען> סעטטינגס> מכשיר סעטטינגס> MCU C ++ לינקער> ליבראַריעס זינט די מקור קאָד פון די האַרץ איז צוגעשטעלט.
געבן פּנים דערקענונג שטריך אויף פריימווערק
די פּנים דערקענונג שטריך איז געבויט אויף די ML זעאונג אַלגערידאַם מאָדעל צוגעשטעלט ווי אַ סטאַטיק ביבליאָטעק - אַן אָאַזיס ליטע רונטימע ביבליאָטעק דורך NXP. די ביבליאָטעק איז אַ קליינטשיק, העכסט עפעקטיוו, קאַסטאַמייזד און אָפּטימיזעד אַי ביבליאָטעק. דער מאָדעל כולל פּנים דיטעקשאַן, פּנים דערקענונג, גלאז דיטעקשאַן און לעבן דיטעקשאַן. עס דער הויפּט גיט די API OASISLT_run_extended () צו לויפן די פּנים דערקענונג רערנ - ליניע בשעת אַפּדייטינג רעזולטאַטן צו די קאַללער דורך געשעעניש קאַללבאַקקס, און לייגן / דערהייַנטיקן / ויסמעקן פנימער אין די דאַטאַבייס דורך די פּנים דאַטאַבייס קאַללבאַקקס נאָך ספּעציפיצירן די מקור ראַם אינפֿאָרמאַציע, קאַללבאַקקס און זכּרון. בעקן געניצט דורך די ביבליאָטעק דורך רופן אן אנדער API OASISLT_init () אויף יניטיאַליזיישאַן. די פאַך פון די אַפּיס און די קאַללבאַקק פאַנגקשאַנז זענען ימפּלאַמענאַד אין די זעאונג אַלגאָ האַל פון די פריימווערק.
לייג זעאונג אַלגאָ מאָדעל ביבליאָטעק
- נאָכמאַכן טעקע אָאַזיס מיט די ביבליאָטעק און די פֿאַרבונדענע כעדער file פֿון סמאַרט HMI \ קאַווע_מאַשין \ cm7 \ libs \ אין דער טעקע libs פון די עקסample SW.
- לייג די זוכן דרך פון די כעדער file אין פּראָיעקט> פּראָפּערטיעס> C/C ++ בויען> סעטטינגס> מכשיר סעטטינגס> MCU C קאַמפּיילער> ינקלודז און MCU C ++ קאַמפּיילער> ינקלודז: "${workspace_loc:/${ProjName}/libs/oasis/include}"
- לייג די ליב און זיין זוכן דרך אויף פּראָיעקט> פּראָפּערטיעס> C/C++ בויען> סעטטינגס> MCU C+ + לינקער> ליבראַריעס: 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 ווו די פאלגענדע פאַנגקשאַנז זענען ימפּלאַמענאַד:
- ינסטרומענט די קאַללבאַקקס פון פּנים דאַטאַבייס אַפּעריישאַנז און האַנדלינג פון געשעענישן.
- פאָר די זעאונג אַלגאָ צו אַרבעטן דורך רופן די אַפּיס פון די אָאַזיס ביבליאָטעק.
- אַקסעס באַניצער פּנים דאַטאַבייס און אַפּ דאַטאַבייס (עס איז ניט דארף אין די עקסampלאַ).
- באַקומען events פֿון און שיקן רעזולטאַטן צו די UI HAL רעזולטאַט.
די הויפּט אַרבעט צו ינסטרומענט די HAL פֿאַר די עקסampזיי זענען:
- קלאָון די עקסיסטירט ענלעך HAL דרייווערין file און טוישן די שייַכות נעמען.
- אַראָפּנעמען די קאָודז שייַכות צו די אַפּ דאַטן אַפּעריישאַנז.
- דערהייַנטיקן די דעפֿיניציע און פאַנגקשאַנז פֿאַר האַנדלינג די געשעענישן פֿון דער רעזולטאַט UI HAL לויט די עקסample design.
- לייג די קאַנפיגיעריישאַנז פארלאנגט אין אָאַזיס יניטיאַליזאַטיאָן.
די דיטיילד סטעפּס זענען ווי אונטן:
- קלאָון hal_vision_algo_oasis_coffeemachine.c. טוישן די fileנאָמען צו hal_vision_algo_oasis_guifacerec.c. און פאַרבייַטן אַלע סטרינגס CoffeeMachine מיט GUIFaceRec אין די file.
- אַראָפּנעמען די קאָודז מיט די שטריקל קאַוועדב (ניט פאַל-שפּירעוודיק) שייַכות צו די אַפּ דאַטאַבייס, למשלampלע, #אַרייַננעמען האַל_סלן_קאַפעעדב.ה.
- מאָדיפיצירן די פֿונקציע HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify () פֿאַר האַנדלינג די געשעענישן פֿון דער רעזולטאַט UI HAL.
- טוישן די געשעעניש דעפֿיניציע kEventFaceRecId_RegisterCoffeeSelection צו keventFaceRecId_RegisterUserFace און די סטרוקטור שטריקל regCoffeeSelection צו regGUIFaceRec פֿאַר די געשעעניש האַנדלינג צו לייגן נייַ פּנים שטריך דאַטן צו די דאַטאַבייס.
- צו ווייַזן די נאָרמאַל פּראָצעס פון פּנים דערקענונג אַקשאַנז אין די עקסampליי, מאָדיפיצירן די האַנדלינג אין דעם פאַל פון kEventFaceRecID_OasisSetState מיט די דעפֿיניציע פון די שטאַטן:
- קOASISLiteState
- פאַרשרייבונג קOASISLiteState
- דערקענונג קOASISLiteState
- אפגעשטעלט
- לייג און מאָדיפיצירן די דעפֿיניציע פון די געשעענישן דערמאנט אין די אויבן שריט.
- קאָפּי די כעדער file smart_tlhmi_event_descriptor.h פֿון סמאַרט HMI \ קאַווע_מאַשין \ cm7 \ source \ event_handlers \ אין דער טעקע מקור פון די עקסample SW. דערהייַנטיקן די file ווי ווייטער:
- טוישן די געשעעניש דעפֿיניציע kEventFaceRecId_RegisterCoffeeSelection צו kEventFaceRecId_RegisterUserFace אין די ענום טיפּ _event_smart_tlhmi_id און די סטרוקטור שטריקל regCoffeeSelection צו regGUIFaceRec אין די סטרוקטור _event_smart_tl. אַזוי, טוישן די סטרוקטור register_coffee_selection_event_t פֿאַר regCoffeeSelection צו register_gui_facerec_event_t.
- ויסמעקן די אנדערע אינהאַלט געניצט פֿאַר די קאַווע מאַשין אַפּ, למשלample, די קאָד שורה וועגן קול: #אַרייַננעמען "hal_event_descriptor_voice.h".
- לייג די טייפּס kOASISLiteState_Stopped און kOASISLiteState_Running צו די ענום טיפּ oasis_lite_state_t אין hal_vision_algo.h אונטער פריימווערק>האַל> זעאונג אין די פּרויעקט ווי אונטן:
typedef enum _oasis_lite_state {- קOASISLiteState
- פליסנדיק, kOASISLiteState
- פארשטאפט, kOASISLiteState
- דערקענונג,
- קOASISLiteState
- רעגיסטראַציע, kOASISLiteState
- דערעגיסטראַטיאָן, kOASISLiteState
- רימאָוטרעגיסטראַטיאָן, kOASISLiteState
- ציילן
- ניצן די אויבן דערהייַנטיקט struct oasis_lite_state_t צו ראַפינירן די struct oasis_state_event_t אין hal_event_descriptor_face_rec.h אונטער פריימווערק> האַל> זעאונג אין די פּרויעקט ווי אונטן: typedef struct _oasis_state_event_t { oasis_lite_state_t שטאַט; } אָאַזיס_שטאַט_עווענט_ט;
- טוישן אַלע keventInfo_Remote צו kEventInfo_Local פֿאַר שיקט געשעענישן פון די זעאונג אַלגאָ HAL צו אנדערע HALs פליסנדיק אויף דער זעלביקער האַרץ ווי איין האַרץ אַנשטאָט פון צווייענדיק-האַרץ איז געניצט אין די עקס.ample.
- לייג און מאָדיפיצירן די אונטן קאַנפיגיעריישאַנז פֿאַר אָאַזיס יניטיאַליזאַטיאָן אין OASISLT_init ():
- לייג די מאַקראָו דעפֿיניציע און זכּרון סעקשאַנז פֿאַר די ווידעא ראַם אין board_define.h: #define OASIS_RGB_FRAME_WIDTH 800
- # דעפינירן OASIS_RGB_FRAME_HEIGHT 600
- #define OASIS_RGB_FRAME_SRC_FORMAT kPixelFormat_YUV1P444_RGB
- # דעפינירן OASIS_RGB_FRAME_BYTE_PER_PIXEL 3
- # דעפינירן AT_FB_SHMEM_SECTION_ALIGN (וואַר, אַליינביטעס) \
- __אַטריביאַטע__((אָפּטיילונג(“.bss.$fb_sh_mem,\”aw\”,%nobits @”))) וואַרי
- __ אַטריביוט__ ((אַליינד (אַלייןביטעס)))
- קאַנפיגיער די זכּרון אַסיינמאַנט צו די אויבן זכּרון אָפּטיילונג fb_sh_mem אויף פּראָיעקט > פּראָפּערטיעס > C / C ++ בויען > MCU סעטטינגס געוויזן אין פיגורע 5:
- דערקלערן די גלאבאלע בייַטעוודיק g_DTCOPBuf אין lvgl_gui_face_rec_cm7.cpp: AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf[DTC_OPTIMIZE_BUFFER_SIZE], 4);
- פאָרזעצן צו לייגן די דעפֿיניציע געניצט אין די אויבן בייַטעוודיק:
- דעפינירן די אויבן אָפּטיילונג אין board_define.h:
- # דעפינירן AT_NONCACHEABLE_SECTION_ALIGN_DTC (וואַר, אַליינביטעס) \
- אַטריביוט__((אָפּטיילונג(“.bss.$SRAM_DTC_cm7,\”aw\”,%nobits @”))) וואַרי
- אַטריביוט__((אַליינד(אַליינביטעס)))
- אַרייַננעמען די כעדער file hal_vision_algo.h מיט די מאַקראָו דעפֿיניציע DTC_OPTIMIZE_BUFFER_SIZE אין app_config.h אַרייַנגערעכנט אין lvgl_gui_face_rec_cm7.cpp.
- לייג די מאַקראָו דעפֿיניציע און זכּרון סעקשאַנז פֿאַר די ווידעא ראַם אין board_define.h: #define OASIS_RGB_FRAME_WIDTH 800
- שטעלן די בייַטעוודיק s_debugOption צו אמת פֿאַר ווייַזנדיק די פּראָגרעס סטאַטוס אויף פּנים דערקענונג.
- לייג די זוכן דרך פון די כעדער files פון די זעאונג האַל אויף פּראָיעקט > פּראָפּערטיעס > C/C ++ בויען > סעטטינגס > מכשיר סעטטינגס > MCU C קאַמפּיילער > ינקלודז און MCU C ++ קאַמפּיילער > כולל: "${workspace_loc:/${ProjName}/framework/hal/vision}"
- לייג די דעפֿיניציע אונטן צו געבן זעאונג אַלגאָ HAL אין board_define.h: #define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec
געבן רעזולטאַט UI HAL
דער רעזולטאַט UI HAL נאָוטאַפייז די געשעענישן צו די זעאונג אַלגאָ האַל און ריספּאַנדז צו די ינפעראַנס רעזולטאַטן פון די זעאונג אַלגאָ האַל. מיט די GUI אַפּ, די געשעענישן זענען בכלל טריגערד דורך די אַפּ און די רעזולטאַטן זענען געוויזן אויף די אַפּ.
צו געבן עס, קלאָון די עקסיסטירט ענלעך HAL דרייווערין file אין אַלגעמיין, די פאלגענדע פאַנגקשאַנז זענען ימפּלאַמענאַד:
- געבנ צו וויסן די געשעענישן פֿאַר פּנים דערקענונג און דאַטאַבייס אַקסעס.
- ימפּלעמענט די קאַללבאַקקס פֿאַר די GUI אַפּ צו צינגל די געשעענישן.
- שעפּן די רעזולטאַטן פון די זעאונג אַלגאָ מאָדולע.
- ווייַזן דעם פּראָצעס און רעזולטאַטן פון די געשעעניש האַנדלינג אויף די וי דורך די פּראָגרעס באַר קאַנטראָולד מיט די טיימערז און די גראָדעק פון די פּנים פירן.
די הויפּט אַרבעט צו ינסטרומענט די HAL פֿאַר די עקסampדי געניצט אין דעם דאָקומענט זענען:
- קלאָון די עקסיסטירט ענלעך HAL דרייווערין file און טוישן די שייַכות נעמען.
- אַראָפּנעמען די קאָודז שייַכות צו די אַפּ.
- דערהייַנטיקן די פאַנגקשאַנז פֿאַר די אָנזאָג אָנזאָג און רעזולטאַטן פון די רעזולטאַטן לויט די עקסample design.
- לייג די קאַללבאַקקס פֿאַר די GUI אַפּ צו צינגל די געשעענישן.
די דיטיילד סטעפּס זענען ווי אונטן:
- קלאָון hal_output_ui_coffee_machine.c. טוישן די fileנאָמען צו hal_ 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לאַ:
- # אַרייַננעמען "האַל_וואָיסע_אַלגאָ_אַסר_לאָקאַל.ה",
- # אַרייַננעמען "האַל_עווענט_דעסקריפּטאָר_וואָיסע.ה"
- פֿאַר די פאַרשידן אָנזאָג אָנזאָג, ינסטרומענט די נייַע פאַנגקשאַנז _OutputManagerNotify(), _SetFaceRec(), _RegisterGUIFaceRec(), און DeregisterGUIFaceRec() ריפערינג צו די פאַנגקשאַנז _StopFaceRec(), _RegisterCoffeeSelection(), און DeregisterCoffeeSelection() איידער ויסמעקן זיי.
- די _OutputManagerNotify () ימפּלאַמאַנץ די יקערדיק געשעעניש רעזולטאַט פונקציע צו שיקן אַ געשעעניש צו די זעאונג אַלגאָ HAL. די אונטן פאַנגקשאַנז רופן עס צו שיקן זייער אייגענע געשעענישן.
- די _SetFaceRec () סענדז די געשעעניש kEventFaceRecID_OasisSetState צו צינגל די זעאונג אַלגאָ פֿאַר פּנים רעגיסטראַציע, דערקענונג און האַלטן די אַלגאָ.
- די _RegisterGUIFaceRec () סענדז די געשעעניש kEventFaceRecId_RegisterGUIFaceRec וואָס איז דיפיינד אין smart_tlhmi_event_descriptor.h צו לייגן פּנים שטריך דאַטן צו די דאַטאַבייס ווען רעגיסטראַציע איז גוט.
- די DeregisterGUIFaceRec () סענדז די געשעעניש kEventFaceRecID_DelUser צו ויסמעקן די פּנים שטריך דאַטן פון די דאַטאַבייס ווען פאָרן די פּנים דערקענונג.
- דערהייַנטיקן די קאָודז צו נעמען די קאָראַספּאַנדינג אַקשאַנז אַרייַנגערעכנט דערפרישן די GUI דורך רופן די APIs פֿון די LVGL GUI אַפּ פֿאַר די ינפעראַנס רעזולטאַטן פון פּנים רעגיסטראַציע און דערקענונג אין די פֿונקציע _InferComplete_Vision () לויט די עקס.ampדי פּלאַן. פֿאַר עקסampאויב די פּנים רעגיסטראַציע איז געראָטן,
- האַלטן ווייַזונג די פּראָגרעס דורך רופן _FaceRecProcess_Stop();
- האַלטן די פּנים רעגיסטראַציע דורך רופן _SetFaceRec(kOASISLiteState_Stopped);
- ווייַזן די געראָטן רעזולטאַט אויף די GUI: gui_show_face_rec_result (kFaceRecResult_OK, s_UserId);
- רעגיסטרירן די פּנים דאַטן צו די דאַטאַבייס: _RegisterUserFace(s_UserId);
- לייג UI קאַללבאַק פאַנגקשאַנז צו שעפּן די געשעענישן: פאַרview, פּנים רעגיסטראַציע, דערקענונג און דיליטינג באַניצער טריגערד פון די GUI. פֿאַר עקסample, די פּנים רעגיסטראַציע קאַללבאַקק: פּאָסל UI_Registration_Callback () {_SetFaceRec(kOASISLiteState_Registration); _פאַסערעקפּראָסעסס_סטאַרט(); }
- און לייגן די פאַנגקשאַנז _FaceRecProcess_Start () און _FaceRecProcess_Stop () צו ווייַזן די פּראָגרעס און סטאַטוס אין די פאַרשידענע געשעענישן און רעזולטאַטן.
- דערהייַנטיקן די טייַמער ISR קאַללבאַקק פונקציע _SessionTimer_Callback () צו שעפּן די פאַל פון צייט-אויס דורך רופן: gui_show_face_rec_result (kFaceRecResult_TimeOut, s_UserId);
- לייג די אונטן דעפֿיניציעס צו געבן UI רעזולטאַט HAL אין board_define.h: #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
\ קאַווע מאַשין \ מיטל \ ייקאַנז \ צו די נייַ טעקע ייקאַנז אונטער די מיטל טעקע פון די עקסample SW. - לייג די זוכן דרך פֿאַר די פיר בילדל fileס אין די אַפּאַראַט_פּרעview_resource.txt file אין די מיטל טעקע, למשלample: icon ../resource/icons/process_bar_240x14.h
- ויספירן camera_preview_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. # דעפינירן APP_ICONS_BASE (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) # דעפינירן APP_ICONS_SIZE 0x107c40
- דערהייַנטיקן די אַסיינד גרייס פון דער זכּרון אָפּטיילונג מיט די נאָמען res_sh_mem צו 0x200000 דורך רידיפיינינג עס אין app_config.h: #define RES_SHMEM_TOTAL_SIZE 0x200000 און די קאָראַספּאַנדינג באַשטעטיקן אין פּראָיעקט> פּראָפּערטיעס> C/C ++ בויען> MCU סעטטינגס.
- לייג די ייקאַן גרייס צו די גאַנץ גרייס פון די מיטל לאָודיד פֿון פלאַש צו SDRAM אין די הויפּט פֿונקציע APP_LoadResource () file lvgl_gui_face_rec_cm7.cpp: memcpy ((פּאָסל *) APP_LVGL_IMGS_BASE, pLvglImages, APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE);
נאָטיץ: צו פאַרענדיקן די פּנים דערקענונג שטריך, די LVGL GUI אַפּ שטיצן איז דארף. די UI קאַללבאַקק פאַנגקשאַנז אין די רעזולטאַט UI HAL זענען גערופֿן דורך די LVGL GUI אַפּ פֿאַר האַנדלינג די געשעענישן פֿון די וי פאַרשטעלן. אויף די אנדערע האַנט, דער רעזולטאַט UI HAL רופט די APIs פֿון די LVGL GUI אַפּ צו דערהייַנטיקן די וי צו ווייַזן די רעזולטאַט און סטאַטוס. די אַנטוויקלונג פון די LVGL GUI אַפּ איז לעפיערעך פרייַ און באַקענענ אין אָפּטיילונג 4.3.
4.1.5 אָנהייב HAL דעוויסעס און מאַנאַדזשערז פֿאַר פּנים דערקענונג
די ענייבאַלד זעאונג אַלגאָ HAL און UI רעזולטאַט HAL און זייער מאַנאַדזשערז זענען סטאַרטעד אין די הויפּט file
lvgl_gui_face_rec_cm7.cpp נאָך די קאַנווערזשאַנז פון אַנטוויקלונג אויף די פריימווערק ווי אונטן:
- אַרייַננעמען די כעדער file שייַכות צו די צוויי HAL מאַנאַדזשערז דורך אַדינג די קאָד שורה:
- #include " 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, רעט);
- HAL_OUTPUT_DEV_REGISTER(UiGUIFaceRec, ret);
- אָנהייבן די מנהלים:
- FWK_MANAGER_INIT (וויסיאָן אַלגאָמאַנאַגער, רעט);
- FWK_MANAGER_INIT(OutputManager, רעט);
- אָנהייב די מאַנאַדזשערז:
- FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, רעט);
- FWK_MANAGER_START(OutputManager, OUTPUT_MANAGER_TASK_PRIORITY, רעט);
- דעפינירן די בילכערקייַט פון די פאַרוואַלטער טאַסקס:
- # דעפינירן VISION_ALGO_MANAGER_TASK_PRIORITY 3
- # דעפינירן OUTPUT_MANAGER_TASK_PRIORITY 1
לייג פּנים דאַטאַבייס שטיצן אויף פריימווערק
די רעגיסטרירט פּנים שטריך דאַטן איז אַקסעסט אין די פּנים דאַטאַבייס סטאָרד אויף פלאַש דורך אַ ביסל file סיסטעם. די סטעפּס צו לייגן די פּנים דאַטאַבייס שטיצן זענען דיסקרייבד אונטן.
לייג דריווערס פֿאַר פלאַש סטאָרידזש
נאָכמאַכן די פלאַש צובינד פלעקסספּי שאָפער files fsl_flexspi.c און fsl_flexspi.h, און די דאַטן ענקריפּשאַן שאָפער files fsl_caam.c און fsl_caam.h פֿון די דרך SDK_2_13_0_MIMXRT1170-EVK\devices \MIMRX1176\drivers\ צו די דריווערס טעקע פון די עקס.ample SW.
לייג ברעט-מדרגה שטיצן
- לייג די דעפֿיניציע פון FlexSPI געניצט פֿאַר די פלאַש מיטל אויף ברעט אין board.h:
- # דעפינירן BOARD_FLEXSPI FLEXSPI1
- # דעפינירן BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1
- # דעפינירן BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE
- נאָכמאַכן די אָפּערייטערז און קאַנפיגיעריישאַנז files פון די פלאַש מיטל flexspi_nor_flash_ops.c, flexspi_nor_flash_ops.h, sln_flash_config.c, sln_flash_config_w25q256jvs.h, andsln_flash_ops.h אונטער דעם דרך סמאַרט HMI\conflash_config.ample SW.
- ונטשעקק "ויסשליסן מיטל פון בויען" אין C / C ++ בויען> סעטטינגס נאָך רעכט-קליקינג אויף די fileס 'נאָמען און עפן די פּראָפּערטיעס צו געבן זיי צו זיין געבויט אין די פּרויעקט.
- טוישן די אַרייַנגערעכנט כעדער fileנאָמען sln_flash_config.h צו sln_flash_config_w25q256jvs.h אין sln_flash_config.c און flexspi_nor_flash_ops.h.
- שטעלן די FlexSPI1 זייגער מקור אין די file clock_config.c ריפערינג צו די קאַווע מאַשין אַפּ.
לייג אַדאַפּטער און מיטל מדרגה שטיצן
- נאָכמאַכן די files sln_flash.c, sln_flash.h, sln_encrypt.c און sln_encrypt.h ווי אַדאַפּטער דריווערס פֿאַר די file סיסטעם און אַפּ פון די וועג פון קלוג HMI \ קאַווע_מאַשין \ cm7 \ מקור \ צו דער טעקע מקור פון די עקסample. דערהייַנטיקן די נייַע files:
- ונטשעקק "ויסשליסן מיטל פון בויען" אויף זיי פֿאַר בנין.
- טוישן אַלע די אַרייַנגערעכנט כעדער file נאָמען sln_flash_config.h צו sln_flash_config_w25q256jvs.h.
- נאָכמאַכן די טעקע fileסיסטעם מיט די אַפּיס פֿאַר די קליין fileסיסטעם און HAL דרייווער פֿון סמאַרט HMI \ קאַווע_מאַשין \ cm7 \ מקור \ צו די עקסample SW. און דערהייַנטיקן פֿאַר די נייַע טעקע:
- ונטשעקק "ויסשליסן מיטל פון בויען" אויף עס פֿאַר בנין.
- לייג די ינקלודעד דרך פֿאַר עס אין פּרויעקט סעטטינגס: "${וואָרקספּאַסע_לאָק:/${פּראָדזשנאַמע}/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\middleware\ צו די עקסample 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"
לייג אַפּ-מדרגה שטיצן
- דערהייַנטיקן די הויפּט 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(ליטטלעפס, רעט);
באַמערקונג: די file סיסטעם HAL מיטל מוזן זיין רעגיסטרירט איידער אַלע מיטל מאַנאַדזשערז זענען יניטיאַלייזד אין די פונקציע APP_InitFramework ().
- רופן די פֿונקציע BOARD_ConfigMPU () אין APP_BoardInit () צו קאַנפיגיער MPU.
- שטעלן די 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 \ קאַווע_מאַשין \ cm7 \ צו די עקסample SW.
ימפּלאַמענט אַ LVGL GUI אַפּ
די אַנטוויקלונג פון אַ LVGL GUI אַפּ באזירט אויף פריימווערק רופט די API פון פּראָדוקציע UI HAL און גיט די APIs צו רעזולטאַט UI HAL (זען אָפּטיילונג 4.1.3 פֿאַר די ימפּלאַמענטיישאַן פון רעזולטאַט UI HAL).
אָבער, די דיטיילד ימפּלאַמענטיישאַן פון אַ LVGL GUI אַפּ דעפּענדס אויף די באדערפענישן און פּלאַן פון די אַפּלאַקיישאַן. די GUI אַפּ אין דעם עקסample איז דיזיינד ווי דיסקרייבד אין די אָנהייב פון די אָפּטיילונג אָפּטיילונג 4.
ונטער איז די ימפּלאַמענטיישאַן ינטראַדאַקשאַנז:
- די קאַסטאַמייזד קאָודז זענען ימפּלאַמענאַד אין די custom.c און custom.h געגעבן דורך GUI Guider ווי די צובינד צווישן די GUI Guider פּרויעקט און די עמבעדיד סיסטעם פּרויעקט.
- לייג די נייַע פאַנגקשאַנז געהייסן gui_xxx () אין custom.c צו דערגרייכן די אונטן פאַנגקשאַנז:
- פֿאַר פּראָדוקציע UI HAL און GUI אַפּ צו דערהייַנטיקן UI.
- פֿאַר GUI אַפּ צו צינגל געשעענישן דורך רופן UI קאַללבאַקק פאַנגקשאַנז פֿון רעזולטאַט UI HAL.
פֿאַר עקסample, די נייַע פונקציע gui_event_face_rec_action () רופט וי קאַללבאַקק פאַנגקשאַנז צו שעפּן איינער פון די געשעענישן פון פּנים רעגיסטראַציע, פּנים דערקענונג און ויסמעקן באַניצער טריגערד פון די GUI אַפּ ווען די פֿאַרבונדענע קנעפּל איז קליקט.
באַמערקונג: די פֿונקציע gui_set_virtual_face () גערופֿן אין רעזולטאַט UI HAL פֿאַר פאַרview מאָדע דאַרף זיין ימפּלאַמענאַד אין custom.c:
- קלאָון פֿונקציע gui_set_virtual_face () פֿון קלוג HMI \ קאַווע_מאַשין \ קמ4 \ קאַסטאַם \ קאַסטאַמ.ק.
- טוישן די נאָמען פון די ווידזשיט home_img_cameraPreview צו screen_img_camera_preview אין די פֿונקציע.
- ימפּלעמענט די וי קאַללבאַקק פאַנגקשאַנז מיט דער זעלביקער פּראָוטאַטייפּ צו אַלע די אין פּראָדוקציע UI HAL אונטער די קאָנטראָל פון די מאַקראָו דעפֿיניציע #ifndef RT_PLATFORM אין custom.c פֿאַר קאַמפּאַטאַבאַל מיט די GUI Guider פּרויעקט ווייַל די פאַנגקשאַנז אין פּראָדוקציע UI HAL זענען אָפענגיק מיט די עמבעדיד פּלאַטפאָרמע. אין custom.c, זיי אָפענגען אויף די סימיאַלייטער אויף GUI גיידער און זענען פרייַ צו די עמבעדיד פּלאַטפאָרמע. פֿאַר עקסampליי, די פּנים רעגיסטראַציע קאַללבאַקק איז ימפּלאַמענאַד ווי אונטן פֿאַר די GUI Guider סימיאַלייטער פליסנדיק: #ifndef RT_PLATFORM פּאָסל UI_Registration_Callback() {gui_hide_del_user_btn(true); s_InAction = פאַלש; צוריקקומען; }
באַמערקונג: אָפּשיקן צו דער זעלביקער פּראָוטאַטייפּ פון די פֿונקציע באַקענענ אין שריט 6 פון אָפּטיילונג 4.1.3
די מאַקראָו דעפֿיניציע RT_PLATFORM איז באַשטימט אויף די פּרויעקט סעטטינגס פון MCUXpresso ווי געוויזן אין פיגורע 7: - דערקלערן אַלע די פאַנגקשאַנז געהייסן UI_xxx_Callback () און gui_xxx () אין custom.h און לייגן Custom.h אַרייַנגערעכנט אין smart_tlhmi_event_descriptor.h צו טיילן די GUI APIs צו די UI רעזולטאַט HAL.
- לייג די נייַע פאַנגקשאַנז געהייסן gui_xxx () אין custom.c צו דערגרייכן די אונטן פאַנגקשאַנז:
- אַנטוויקלען די GUI אויף GUI Guider:
- קלאָון די טעקע אַפּאַראַט פּרעview מיט די GUI Guider פּרויעקט ווייכווארג אין דער טעקע gui_guider אין די באַזע ווייכווארג פּעקל lvgl_gui_camera_preview_cm7. טוישן די פֿאַרבונדענע נאָמען camera_preview צו פּנים_רעק פֿאַר די נייַע עקסample.
- נאָכמאַכן די אויבן דערהייַנטיקט custom.c און custom. h צו די נייַע GUI Guider פּרויעקט ווייכווארג.
- עפֿענען די נייַע Face_rec פּרויעקט אויף GUI Guider. דערהייַנטיקן ווי אונטן:
- לייג די נייַע קנעפּל מיטן נאָמען ויסמעקן באַניצער. לייג די פאָן Hidden צו עס אַזוי אַז די קנעפּל וועט זיין פאַרבאָרגן ווען די GUI אַפּ סטאַרץ אַרויף.
- לייג די קאָד שורה פון רופן די API gui_event_face_rec_action () מיט אַ אַנדערש געשעעניש שייַן פּאַראַמעטער אויף די "באפרייט" צינגל אין די געשעעניש באַשטעטיקן פון אַלע די קנעפּלעך פאַרשרייבונג, רעקאָגניטיאָן און ויסמעקן באַניצער פֿאַר טריגערינג די געשעענישן פון פּנים רעגיסטראַציע, פּנים דערקענונג און ויסמעקן באַניצער. פיגורע 8 ווייזט די קאָד פֿאַר די געשעעניש פון די קנעפּל רעגיסטראַציע:
- דערהייַנטיקן די דזשענערייטאַד קאָד פון GUI Guider צו די MCUXpresso פּרויעקט.
- פאַרבייַטן די אינהאַלט אַחוץ פֿאַר די טעקע בילדער אין דער טעקע דזשענערייטאַד פון די MCUXpresso פּרויעקט SW מיט די קאָראַספּאַנדינג אָנעס אין דער טעקע דזשענערייטאַד פון GUI Guider פּרויעקט SW.
באַמערקונג: פֿאַר מער דעטאַילס וועגן די מאָדיפיקאַטיאָנס באַקענענ אויבן, טשעק די עקסampדי ווייכווארג בייַ https://mcuxpresso.nxp.com/appcodehub.
וועראַפאַקיישאַנז מיט די עקסampדי פּרויעקט
צו באַקומען די עקסampדי ווייכווארג פּעקל מיט די רעסורסן און מכשירים פֿאַר דעם אַפּלאַקיישאַן טאָן, באַזוכן: https://mcuxpresso.nxp.com/appcodehub. עפענען די עקסampדי פּרויעקט אויף MCUXpresso IDE. בויען און פּראָגראַם די .axf file צו די אַדרעס 0x30000000 און פּראָגראַם די מיטל בין file camera_preview_resource.bin צו די אַדרעס 0x30800000.
די LVGL GUI פּנים דערקענונג עקסampדי אַרבעט נאָרמאַלי ווי אונטן:
- Preview: מיט מאַכט אַרויף, די ווידעא סטרימז קאַפּטשערד דורך די אַפּאַראַט ווייזט אויף די ספּעציפיש געגנט פון אַפּאַראַט פאַרview אויף די GUI פאַרשטעלן. די סטאַטוס פירמע דיספּלייז "פּרעview…”. פֿאַר דעטאַילס, זען פיגורע 3. די קנעפּל ויסמעקן באַניצער איז פאַרבאָרגן. ווען קליקינג די געגנט אַרויס די קנעפּלעך און בילדער, עס ווייזט די פאַרview שטאַט ווי די אויבן נאָך די פּנים רעגיסטראַציע אָדער דערקענונג קאַמף ענדס.
- רעגיסטראציע:
- tartup: ווען די רעגיסטראַציע קנעפּל איז קליקט, די פּנים רעגיסטראַציע סטאַרץ. די סטאַטוס פירמע ענדערונגען צו אַרויסווייַזן "רעגיסטראַציע ...", די גראָדעק פון די פּנים פירער ווייזט בלוי, און די פּראָגרעס באַר סטאַרץ צו ווייַזן די פּראָגרעס. מאַכן זיכער אַז דער באַניצער ס פּנים איז געוויזן אין די בלוי פּנים פירן גראָדעק פֿאַר רעגיסטראַציע.
- הצלחה: די סטאַטוס פירמע ווייזט "רעגיסטראַציע ... גוט" און די רעגיסטרירט באַניצער שייַן נומער, די גראָדעק פון די פּנים פירן ווערט רויט אויב די רעגיסטראַציע פון די פּנים איז געראָטן איידער די פּראָגרעס ווייַזן פול אויף די באַר.
- דורכפאַל -> צייט אויס: די סטאַטוס פירמע ווייזט "רעגיסטראַציע ... צייט אויס" אויב די פּנים רעגיסטראַציע איז נאָך ניט אַנדערש ווען די פּראָגרעס איז פול אויף די באַר.
- דורכפאַל -> דופּליקאַטיאָן: די סטאַטוס פירמע ווייזט "רעגיסטראַציע ... ניט אַנדערש", די גראָדעק פון די פּנים פירן ווערט גרין אויב די רעגיסטרירט פּנים איז אנערקענט איידער די פּראָגרעס ווייַזן פול אויף די באַר.
- דערקענונג:
- סטאַרטאַפּ: ווען די רעקאָגניטיאָן קנעפּל איז קליקט, די פּנים דערקענונג סטאַרץ. די סטאַטוס פירמע ענדערונגען צו ווייַזן "דערקענונג ...", די גראָדעק פון די פּנים פירער ווייזט בלוי, און די פּראָגרעס באַר סטאַרץ צו ווייַזן די פּראָגרעס. מאַכן זיכער אַז דער באַניצער ס פּנים איז געוויזן אין די בלוי פּנים פירער גראָדעק פֿאַר רעגיסטראַציע.
- הצלחה: די סטאַטוס פירמע ווייזט "דערקענונג ... גוט" און דער דערקענט באַניצער שייַן נומער, די פּנים פירער גראָדעק ווערט גרין אויב די פּנים דערקענונג איז געראָטן איידער די פּראָגרעס ווייַזן פול אויף די באַר. אין די פונט, די קנעפּל ויסמעקן באַניצער אויס. עס מיטל אַז דער באַניצער איז ערלויבט צו ווערן אויסגעמעקט בלויז ווען עס איז דערקענט.
- אַילורע: די סטאַטוס פירמע ווייזט "דערקענונג ... צייט אויס" אויב די פּנים דערקענונג איז נאָך ניט אַנדערש ווען די פּראָגרעס ווייַזן פול אויף די באַר.
- ויסמעקן באַניצער: ווען די קנעפּל "ויסמעקן באַניצער" איז געקליקט, נאָך די פּנים דערקענונג איז געראָטן, די סטאַטוס פירמע ענדערונגען צו ווייַזן "ויסמעקן באַניצער ... גוט" מיט די גראָדעק פון די פּנים פירן איז בלוי און די פּראָגרעס ווייזן פול אויף די באַר. דער קנעפּל ויסמעקן באַניצער איז פאַרבאָרגן ווידער. דער דערקענט פּנים / באַניצער איז אויסגעמעקט פון די דאַטאַבייס. עס מיטל אַז דעם פּנים / באַניצער קענען ניט זיין אנערקענט ביז עס איז רעגיסטרירט ווידער.
באַמערקונג וועגן די מקור קאָד אין דעם דאָקומענט
Exampדער קאָד געוויזן אין דעם דאָקומענט האט די פאלגענדע קאַפּירייט און BSD-3-קלאָז דערלויבעניש:
קאַפּירייט 2024 NXP רידיסטראַביושאַן און נוצן אין מקור און ביינערי פארמען, מיט אָדער אָן מאָדיפיקאַטיאָן, זענען דערלויבט אויב די פאלגענדע טנאָים זענען באגעגנט:
- רידיסטראַביושאַנז פון מקור קאָד מוזן ריטיין די אויבן דרוקרעכט מעלדונג, די רשימה פון באדינגונגען און די פאלגענדע אָפּלייקענונג.
- רידיסטראַביושאַנז אין ביינערי פאָרעם מוזן רעפּראָדוצירן די אויבן דרוקרעכט מעלדונג, די רשימה פון באדינגונגען און די פאלגענדע אָפּלייקענונג אין די דאַקיומענטיישאַן און / אָדער אנדערע מאַטעריאַלס מוזן זיין צוגעשטעלט מיט די פאַרשפּרייטונג.
- ניט די נאָמען פון די קאַפּירייט האָלדער אדער די נעמען פון זייַן מיטארבעטערס קענען זיין געניצט צו שטיצן אָדער העכערן פּראָדוקטן דערייווד פון דעם ווייכווארג אָן ספּעציפיש פריערדיק געשריבן דערלויבעניש
די ווייכווארג איז צוגעשטעלט דורך די קאַפּירייט האָלדערס און מיטארבעטערס "ווי עס איז" און קיין אויסדריקלעך אָדער ימפּלייד וואָראַנטיז, אַרייַנגערעכנט, אָבער נישט לימיטעד צו, די ימפּלייד וואָראַנטי פון סחורה און פיגיקייט פֿאַר אַ פּאַרטיסאַפּיישאַן. אין קיין פאַל, די קאַפּירייט האָלדער אָדער מיטארבעטערס זאָל זיין פאַראַנטוואָרטלעך פֿאַר קיין דירעקט, ינדירעעקט, ינסידענטאַל, ספּעציעלע, יגזעמפּלערי אָדער קאָנסעקווענשאַל שעדיקן (אַרייַנגערעכנט, אָבער נישט לימיטעד צו, ייַנשאַפונג פון סאַבסטיטוט סערוויסעס פון יו. עס.; אָדער פּראָפיץ; אָדער געשעפט יבעררייַס) אָבער געפֿירט און אויף קיין טעאָריע פון אַכרייַעס, צי אין קאָנטראַקט, שטרענג אַכרייַעס, אָדער שולד (אַרייַנגערעכנט נעגלאַדזשאַנס אָדער אַנדערש) וואָס איז שטייענדיק אין קיין וועג אויס פון די נוצן מעגלעכקייט פון אַזאַ שעדיקן.
רעוויזיע געשיכטע
לעגאַל אינפֿאָרמאַציע
דעפֿיניציעס
פּלאַן - א פּלאַן סטאַטוס אויף אַ דאָקומענט ינדיקייץ אַז דער אינהאַלט איז נאָך אונטער ינערלעך רעview און אונטערטעניק צו פאָרמאַל האַסקאָמע, וואָס קען רעזולטאַט אין מאָדיפיקאַטיאָנס אָדער אַדישאַנז. NXP Semiconductors גיט קיין רעפּראַזאַנטיישאַנז אָדער וואָראַנטיז וועגן די אַקיעראַסי אָדער קאַמפּליטנאַס פון אינפֿאָרמאַציע אַרייַנגערעכנט אין אַ פּלאַן ווערסיע פון אַ דאָקומענט און וועט נישט האָבן קיין אַכרייַעס פֿאַר די קאַנסאַקווענסאַז פון נוצן פון אַזאַ אינפֿאָרמאַציע.
אָפּלייקענונג
- לימיטעד וואָראַנטי און אַכרייַעס - אינפֿאָרמאַציע אין דעם דאָקומענט איז געגלויבט צו זיין פּינטלעך און פאַרלאָזלעך. אָבער, NXP Semiconductors טוט נישט געבן קיין רעפּראַזאַנטיישאַנז אָדער וואָראַנטיז, אויסגעדריקט אָדער ימפּלייד, וועגן די אַקיעראַסי אָדער קאַמפּליטנאַס פון אַזאַ אינפֿאָרמאַציע און וועט האָבן קיין אַכרייַעס פֿאַר די קאַנסאַקווענסאַז פון נוצן פון אַזאַ אינפֿאָרמאַציע. NXP Semiconductors נעמט קיין פֿאַראַנטוואָרטלעכקייט פֿאַר די אינהאַלט אין דעם דאָקומענט אויב צוגעשטעלט דורך אַן אינפֿאָרמאַציע מקור אַרויס פון NXP Semiconductors.
אין קיין פאַל, NXP Semiconductors וועט זיין לייאַבאַל פֿאַר קיין ומדירעקט, ינסידענטאַל, שטראָף, ספּעציעל אָדער קאָנסעקווענשאַל דאַמידזשיז (אַרייַנגערעכנט - אָן באַגרענעצונג - פאַרפאַלן פּראַפיץ, פאַרפאַלן סייווינגז, געשעפט יבעררייַס, קאָס שייַכות צו די באַזייַטיקונג אָדער פאַרבייַט פון פּראָדוקטן אָדער ריווערק טשאַרדזשיז) אָדער ניט אַזאַ דאַמאַדזשאַז זענען באזירט אויף טאָרט (אַרייַנגערעכנט נעגלאַדזשאַנס), וואָראַנטי, בריטש פון קאָנטראַקט אָדער קיין אנדערע לעגאַל טעאָריע.
ניט קוקנדיק קיין דאַמידזשיז אַז דער קונה קען אָנמאַכן פֿאַר קיין סיבה, די געמיינזאַם און קיומיאַלאַטיוו אַכרייַעס פון NXP Semiconductors צו קונה פֿאַר די פּראָדוקטן דיסקרייבד דאָ וועט זיין לימיטעד אין לויט מיט די תּנאָים און טנאָים פון געשעפט פאַרקויף פון NXP Semiconductors. - רעכט צו מאַכן ענדערונגען - NXP Semiconductors ריזערווז די רעכט צו מאַכן ענדערונגען צו אינפֿאָרמאַציע ארויס אין דעם דאָקומענט, אַרייַנגערעכנט אָן באַגרענעצונג ספּעסאַפאַקיישאַנז און פּראָדוקט דיסקריפּשאַנז, אין קיין צייט און אָן באַמערקן. דער דאָקומענט סאַפערז און ריפּלייסיז אַלע אינפֿאָרמאַציע סאַפּלייד איידער די ויסגאַבע דערפון.
- פּאַסיק פֿאַר נוצן - NXP Semiconductors פּראָדוקטן זענען נישט דיזיינד, אָטערייזד אָדער געראַנטיד צו זיין פּאַסיק פֿאַר נוצן אין לעבן שטיצן, לעבן-קריטיש אָדער זיכערקייַט-קריטיש סיסטעמען אָדער ויסריכט, אדער אין אַפּלאַקיישאַנז ווו דורכפאַל אָדער מאַלפאַנגקשאַן פון אַ NXP Semiconductors פּראָדוקט קענען זיין געריכט צו פירן צו. פערזענלעכע שאָדן, טויט אָדער שטרענג פאַרמאָג אָדער ינווייראַנמענאַל שעדיקן. NXP Semiconductors און זייַן סאַפּלייערז אָננעמען קיין אַכרייַעס פֿאַר ינקלוזשאַן און / אָדער נוצן פון NXP Semiconductors פּראָדוקטן אין אַזאַ ויסריכט אָדער אַפּלאַקיישאַנז און דעריבער אַזאַ ינקלוזשאַן און / אָדער נוצן איז אויף דער קונה ס אייגן ריזיקירן.
- אַפּפּליקאַטיאָנס - אַפּלאַקיישאַנז וואָס זענען דיסקרייבד דאָ פֿאַר קיין פון די פּראָדוקטן זענען בלויז פֿאַר ילאַסטראַטיוו צוועקן. NXP Semiconductors מאכט קיין פאַרטרעטונג אָדער וואָראַנטי אַז אַזאַ אַפּלאַקיישאַנז וועט זיין פּאַסיק פֿאַר די ספּעסיפיעד נוצן אָן ווייַטער טעסטינג אָדער מאַדאַפאַקיישאַן.
קאַסטאַמערז זענען פאַראַנטוואָרטלעך פֿאַר די פּלאַן און אָפּעראַציע פון זייער אַפּלאַקיישאַנז און פּראָדוקטן ניצן NXP Semiconductors פּראָדוקטן, און NXP Semiconductors אַקסעפּץ קיין אַכרייַעס פֿאַר קיין הילף מיט אַפּלאַקיישאַנז אָדער קונה פּראָדוקט פּלאַן. עס איז דער איינציקער פֿאַראַנטוואָרטלעכקייט פון דער קונה צו באַשליסן צי די NXP סעמיקאַנדאַקטאָרס פּראָדוקט איז פּאַסיק און פּאַסיק פֿאַר די פּלאַננעד אַפּלאַקיישאַנז און פּלאַננעד פּראָדוקטן, ווי געזונט ווי פֿאַר די פּלאַננעד אַפּלאַקיישאַן און נוצן פון דער קונה (s) פון די דריט טיילווייַז קונה. קאַסטאַמערז זאָל צושטעלן צונעמען פּלאַן און אַפּערייטינג סייפגאַרדז צו מינאַמייז די ריסקס פֿאַרבונדן מיט זייער אַפּלאַקיישאַנז און פּראָדוקטן. NXP Semiconductors טוט נישט אָננעמען קיין אַכרייַעס שייַכות צו קיין פעליקייַט, שעדיקן, קאָס אָדער פּראָבלעם וואָס איז באזירט אויף קיין שוואַכקייַט אָדער פעליקייַט אין דער קונה ס אַפּלאַקיישאַנז אָדער פּראָדוקטן, אָדער די אַפּלאַקיישאַן אָדער נוצן דורך קונה ס דריט פּאַרטיי קונה (s). דער קונה איז פאַראַנטוואָרטלעך פֿאַר טאן אַלע נויטיק טעסטינג פֿאַר די אַפּלאַקיישאַנז און פּראָדוקטן פון דער קונה ניצן NXP Semiconductors פּראָדוקטן אין סדר צו ויסמיידן אַ פעליקייַט פון די אַפּלאַקיישאַנז און די פּראָדוקטן אָדער פון די אַפּלאַקיישאַן אָדער נוצן דורך קונה ס דריט פּאַרטיי קונה (s). NXP טוט נישט אָננעמען קיין אַכרייַעס אין דעם רעספּעקט. - טערמינען און באדינגונגען פון געשעפט פאַרקויף - NXP Semiconductors פּראָדוקטן זענען סאָלד אונטער די אַלגעמיינע טערמינען און באדינגונגען פון געשעפט פאַרקויף, ווי ארויס אויף https://www.nxp.com/profile/ תּנאָים, סייַדן אַנדערש מסכים אין אַ גילטיק געשריבן יחיד העסקעם. אין פאַל אַ יחיד העסקעם איז געפונען בלויז די טערמינען און באדינגונגען פון די ריספּעקטיוו העסקעם וועט צולייגן. NXP Semiconductors דערמיט אַבדזשעקץ אויסדריק צו אַפּלייינג די קונה ס אַלגעמיינע טערמינען און באדינגונגען מיט אַכטונג צו די קויפן פון NXP Semiconductors פּראָדוקטן דורך קונה.
- עקספּאָרט קאָנטראָל - דער דאָקומענט ווי געזונט ווי די נומער (s) דיסקרייבד דאָ קען זיין אונטערטעניק צו עקספּאָרט קאָנטראָל רעגיאַליישאַנז. עקספּאָרט קען דאַרפן אַ פריערדיק דערלויבעניש פון קאָמפּעטענט אויטאריטעטן.
- פּאַסיק פֿאַר נוצן אין ניט-אָטאַמאָוטיוו קוואַלאַפייד פּראָדוקטן - סייַדן דעם דאָקומענט אויסדריקלעך דערקלערט אַז דער ספּעציפיש NXP סעמיקאַנדאַקטאָרס פּראָדוקט איז אָטאַמאָוטיוו קוואַלאַפייד, די פּראָדוקט איז נישט פּאַסיק פֿאַר אָטאַמאָוטיוו נוצן. עס איז ניט קוואַלאַפייד אָדער טעסטעד אין לויט מיט אָטאַמאָוטיוו טעסטינג אָדער אַפּלאַקיישאַן רעקווירעמענץ. NXP Semiconductors אַקסעפּץ קיין אַכרייַעס פֿאַר ינקלוזשאַן און / אָדער נוצן פון ניט-אָטאַמאָוטיוו קוואַלאַפייד פּראָדוקטן אין אָטאַמאָוטיוו ויסריכט אָדער אַפּלאַקיישאַנז.
אין דער געשעעניש אַז דער קונה ניצט דעם פּראָדוקט פֿאַר דיזיינינג און נוצן אין אָטאַמאָוטיוו אַפּלאַקיישאַנז צו אָטאַמאָוטיוו ספּעסאַפאַקיישאַנז און סטאַנדאַרדס, קונה (אַ) וועט נוצן דעם פּראָדוקט אָן NXP Semiconductors' וואָראַנטי פון די פּראָדוקט פֿאַר אַזאַ אָטאַמאָוטיוו אַפּלאַקיישאַנז, נוצן און ספּעסאַפאַקיישאַנז, און ( ב) ווען קונה ניצט דעם פּראָדוקט פֿאַר אָטאַמאָוטיוו אַפּלאַקיישאַנז ווייַטער פון די ספּעסאַפאַקיישאַנז פון NXP Semiconductors, אַזאַ נוצן וועט זיין בלויז אין קונה ס אייגן ריזיקירן, און (C) קונה גאָר באַשולדיקן NXP Semiconductors פֿאַר קיין אַכרייַעס, דאַמידזשיז אָדער ניט אַנדערש פּראָדוקט קליימז ריזאַלטינג פון קונה פּלאַן און נוצן פון די פּראָדוקט פֿאַר אָטאַמאָוטיוו אַפּלאַקיישאַנז ווייַטער פון NXP Semiconductors 'סטאַנדאַרט וואָראַנטי און NXP Semiconductors' פּראָדוקט ספּעסאַפאַקיישאַנז. - איבערזעצונגען - א ניט-ענגליש (איבערגעזעצט) ווערסיע פון אַ דאָקומענט, אַרייַנגערעכנט די לעגאַל אינפֿאָרמאַציע אין דעם דאָקומענט, איז בלויז פֿאַר רעפֿערענץ. די ענגליש ווערסיע וועט פּריווייל אין פאַל פון קיין דיסקרעפּאַנסי צווישן די איבערגעזעצט און ענגליש ווערסיעס.
- זיכערהייַט - קונה פארשטייט אַז אַלע NXP פּראָדוקטן קען זיין אונטערטעניק צו אַניידענטאַפייד וואַלנעראַביליטיז אָדער קען שטיצן געגרינדעט זיכערהייט סטאַנדאַרדס אָדער ספּעסאַפאַקיישאַנז מיט באַוווסט לימיטיישאַנז. דער קונה איז פאַראַנטוואָרטלעך פֿאַר די פּלאַן און אָפּעראַציע פון זייַן אַפּלאַקיישאַנז און פּראָדוקטן איבער זייער לייפסייקאַלז צו רעדוצירן די ווירקונג פון די וואַלנעראַביליטיז אויף קונה אַפּלאַקיישאַנז און פּראָדוקטן. קונה ס פֿאַראַנטוואָרטלעכקייט אויך יקסטענדז צו אנדערע אָפֿן און / אָדער פּראַפּרייאַטערי טעקנאַלאַדזשיז געשטיצט דורך NXP פּראָדוקטן פֿאַר נוצן אין קונה ס אַפּלאַקיישאַנז. NXP אַקסעפּץ קיין אַכרייַעס פֿאַר קיין וואַלנעראַביליטי. דער קונה זאָל קעסיידער קאָנטראָלירן זיכערהייט דערהייַנטיקונגען פֿון NXP און נאָכגיין אַ אַפּראָופּרייטלי. דער קונה וועט אויסקלייַבן פּראָדוקטן מיט זיכערהייט פֿעיִקייטן וואָס בעסטער טרעפן כּללים, רעגיאַליישאַנז און סטאַנדאַרדס פון די בדעה אַפּלאַקיישאַן און מאַכן די לעצט פּלאַן דיסיזשאַנז וועגן זיין פּראָדוקטן און איז בלויז פאַראַנטוואָרטלעך פֿאַר העסקעם מיט אַלע לעגאַל, רעגולאַטאָרי און זיכערהייט פֿאַרבונדענע רעקווירעמענץ וועגן זיין פּראָדוקטן, ראַגאַרדלאַס פון פון קיין אינפֿאָרמאַציע אָדער שטיצן וואָס קען זיין צוגעשטעלט דורך NXP.
NXP האט אַ פּראָדוקט זיכערהייט ינסידענט ענטפער מאַנשאַפֿט (PSIRT) (ריטשאַבאַל ביי PSIRT@nxp.com) וואָס מאַנידזשיז די ויספאָרשונג, ריפּאָרטינג און לייזונג מעלדונג צו זיכערהייט וואַלנעראַביליטיז פון NXP פּראָדוקטן.
NXP BV - NXP BV איז נישט אַן אַפּערייטינג פירמע און עס קען נישט פאַרשפּרייטן אָדער פאַרקויפן פּראָדוקטן.
טריידמאַרקס
נאָטיץ: כל רעפערענסט בראַנדז, פּראָדוקט נעמען, דינסט נעמען און טריידמאַרקס זענען די פאַרמאָג פון זייער ריספּעקטיוו אָונערז.
נקספּ - וואָרדמאַרק און לאָגאָ זענען טריידמאַרקס פון 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 - זענען טריידמאַרקס און / אָדער רעגיסטרירט טריידמאַרקס פון אַרם לימיטעד (אָדער זייַן סאַבסידיעריז אָדער אַפיליאַץ) אין די יו. אנדערש. די פֿאַרבונדענע טעכנאָלאָגיע קען זיין פּראָטעקטעד דורך קיין אָדער אַלע פּאַטענץ, קאַפּירייץ, דיזיינז און האַנדל סיקריץ. אלע רעכטן רעזערווירט.
- i.MX — איז אַ טריידמאַרק פון NXP BV
- דזש-לינק - איז אַ טריידמאַרק פון SEGGER Microcontroller GmbH.
Microsoft, Azure און ThreadX - זענען טריידמאַרקס פון די מיקראָסאָפט גרופּע פון קאָמפּאַניעס.
ביטע זיין אַווער אַז וויכטיק נאָוטאַסאַז וועגן דעם דאָקומענט און די פּראָדוקט (s) דיסקרייבד דאָ, זענען אַרייַנגערעכנט אין אָפּטיילונג 'לעגאַל אינפֿאָרמאַציע'.
© 2024 NXP BV
פֿאַר מער אינפֿאָרמאַציע, ביטע באַזוכן: https://www.nxp.com
- דאַטע פון מעלדונג: 19 אפריל 2024
- דאָקומענט ידענטיפיערנומער: AN14263
FAQ
ק: וואָס איז דער הויפּט ציל פון דעם פּראָדוקט?
א: דער הויפּט ציל איז צו געבן פּנים דערקענונג פֿונקציע ניצן אַן AI&ML זעאונג אַלגערידאַם מאָדעל מיט אַ פּשוט LVGL GUI עקס.ampאויף די SLN-TLHMI-IOT ברעט.
ק: ווי קענען דעוועלאָפּערס נוץ פון דעם אַפּלאַקיישאַן טאָן?
א: דעוועלאָפּערס קענען לערנען ווי צו ינסטרומענט פּנים דערקענונג אויף די פריימווערק שריט דורך שריט ניצן די צוגעשטעלט עקסampאון פֿאַרשטיין די מיטל מאַנאַדזשערז, HAL דעוויסעס און געשעעניש מעקאַניזאַמז ינוואַלווד.
דאָקומענטן / רעסאָורסעס
![]() |
NXP AN14263 ינסטרומענט LVGL GUI פּנים דערקענונג אויף פראַמעוואָר [pdfבאַניצער גייד AN14263 ינסטרומענט LVGL GUI פּנים דערקענונג אויף פראַמעוואָר, AN14263, ימפּלעמענט LVGL GUI פּנים דערקענונג אויף פראַמעוואָר, LVGL GUI פּנים דערקענונג אויף פראַמעוואָר, פּנים דערקענונג אויף פראַמעוואָר, דערקענונג אויף פראַמעוואָר, פראַמעוואָר |