nxp-logo

NXP AN14263 Aplike LVGL GUI Rekonesans figi sou Framewor

NXP-AN14263-Implement-LVGL-GUI Face-Reconnaissance-on-Framewor-product

Enfòmasyon sou pwodwi

Espesifikasyon

  • Non pwodwi: LVGL GUI Rekonesans figi sou chapant
  • Revizyon dokiman: 1 - 19 avril 2024
  • Mo kle: Rekonesans figi, LVGL GUI, chapant

Enstriksyon Itilizasyon Pwodwi

  1. Plis paseview
    Pwodui sa a pèmèt modèl algorithm vizyon AI & ML pou rekonesans figi sou yon kad pou aplike fonksyon rekonesans figi ak yon senp LVGL GUI ansyenample sou tablo SLN-TLHMI-IOT la.
  2. Chad souview
    Lojisyèl solisyon an fèt ozalantou achitekti kad ki gen ladan manadjè aparèy ki responsab pou jere aparèy, aparèy HAL pou abstrè detay ki kache yo, ak evènman pou kominikasyon ant diferan aparèy.
  3. Karakteristik
    Pwodwi a pèmèt aplikasyon an nan fonksyon rekonesans figi atravè kamera preview sou ekran entèfas ak bouton pou deklanche enskripsyon figi, rekonesans, ak retire. Done figi anrejistre yo estoke sou Flash atravè yon file sistèm.
  4. Kontni Aplikasyon Nòt
    Nòt aplikasyon an prezante yon ekran LVGL GUI ak kamera preview ak bouton pou aksyon ki gen rapò ak figi. Li ede devlopè yo konprann fondasyon an ak kijan pou aplike rekonesans figi lè l sèvi avèk ansyen yo bay laample.

Plis paseview

NXP te lanse yon twous devlopman solisyon ki rele SLN-TLHMI-IOT ki konsantre sou aplikasyon HMI entelijan. Li pèmèt HMI entelijan ak vizyon ML, vwa, ak grafik UI aplike sou yon sèl NXP i.MX RT117H MCU. Ki baze sou SDK a, lojisyèl solisyon an konstwi sou yon konsepsyon ki rele kad ki sipòte desen fleksib ak personnalisation nan fonksyon vizyon ak vwa. Pou ede itilizatè yo sèvi ak platfòm lojisyèl an pi byen, gen kèk dokiman debaz yo bay, pou egzanpample, gid itilizatè devlopman lojisyèl an. Gid la prezante konsepsyon lojisyèl debaz ak achitekti aplikasyon yo ki kouvri tout konpozan solisyon an ki gen ladan fondasyon an pou ede devlopè yo pi fasil ak efikasman aplike aplikasyon yo lè l sèvi avèk SLN-TLHMI-IOT la.
Pou plis detay sou solisyon an ak dokiman ki enpòtan, vizite la web paj solisyon NXP EdgeReady Smart HMI ki baze sou i.MX RT117H ak ML Vision, Vwa, ak UI grafik. Sepandan, li toujou pa tèlman fasil pou devlopè yo aplike aplikasyon HMI entelijan yo an referans a gid debaz sa yo. Yo planifye yon seri nòt aplikasyon pou ede etidye devlopman sou kad etap pa etap. Nòt aplikasyon sa a baze sou Implement LVGL GUI Camera Preview sou chapant (dokiman AN14147). Nòt aplikasyon sa a dekri kijan pou pèmèt modèl algorithm vizyon AI&ML pou rekonesans figi sou fondasyon an pou aplike fonksyon rekonesans figi atravè kamera pre.view sou ekran entèfas ak yon senp entèfas LVGL example sou tablo SLN-TLHMI-IOT la. Nan nòt aplikasyon an, ansyen anample prezante yon ekran GUI LVGL ak yon kamera preview ak kèk bouton pou deklanche enskripsyon figi, rekonesans, ak retire. Done figi anrejistre yo estoke sou Flash atravè yon ti kras file sistèm.

Nan yon wo nivo, nòt aplikasyon an gen sa ki anba a:

  • Pèmèt karakteristik rekonesans figi a sou kad la.
  • Ajoute sipò baz done figi sou fondasyon an atravè file sistèm sou Flash.
  • Aplike aplikasyon LVGL GUI la. Atravè entwodiksyon ki anwo yo, dokiman sa a ede devlopè yo:
  • Konprann fondasyon an ak lojisyèl solisyon entelijan HMI la pi pwofondman.
  • Devlope rekonesans figi AI&ML yo sou kad ak app LVGL GUI.

Framework souview
Lojisyèl solisyon an fèt sitou nan itilizasyon achitekti fondasyon an ki konpoze de plizyè pati diferan:

  • Manadjè aparèy - pati debaz la
  • Aparèy Materyèl Abstraksyon Kouch (HAL).
  • Mesaj/Evènman

Jan yo montre nan Figi 1, souview nan mekanis fondasyon an se:

Manadjè aparèy yo responsab pou jere aparèy yo itilize nan sistèm nan. Chak kalite aparèy (antre, pwodiksyon, ak sou sa) gen pwòp manadjè aparèy kalite espesifik li yo. Avèk yon manadjè aparèy ki kòmanse apre aparèy yo te anrejistre nan li, li tann epi tcheke yon mesaj transfere done nan aparèy yo ak lòt manadjè apre inisyalize ak kòmanse aparèy yo anrejistre. Aparèy HAL yo ekri anlè kòd chofè nivo ki pi ba yo, sa ki ede ogmante konpreyansyon kòd la lè yo abstrè anpil nan detay ki kache yo.

Evènman yo se yon mwayen pou enfòmasyon yo kominike ant diferan aparèy atravè manadjè yo. Lè yon evènman deklanche, aparèy ki te resevwa evènman an premye kominike evènman sa a bay manadjè li, answit li notifye lòt manadjè ki deziyen pou resevwa evènman an.

NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (1)

Konsepsyon achitekti fondasyon an te santre sou twa objektif prensipal:

  1. Fasilite pou itilize
  2. Fleksibilite/Portabilite
  3. Pèfòmans

Se fondasyon an ki fèt ak objektif pou akselere tan nan mache pou vizyon ak lòt aplikasyon pou aprantisaj machin. Pou asire yon tan rapid nan mache, li enpòtan pou lojisyèl an tèt li fasil pou konprann ak modifye. Kenbe objektif sa a nan tèt ou, achitekti nan kad la fasil modifye san yo pa restriksyon, epi san yo pa vini nan pri a nan pèfòmans.
Pou plis detay sou kad la, gade Gid Itilizatè Smart HMI Software Development (dokiman MCU-SMHMI-SDUG).

Bibliyotèk grafik limyè ak versatile (LVGL)
LVGL (Limyè ak Versatile Graphics Library) se yon bibliyotèk grafik gratis ak sous ouvè ki bay tout sa ou bezwen pou kreye yon entèfas entegre ak eleman grafik ki fasil pou itilize, bèl efè vizyèl ak anprint memwa ki ba.

GUI Guider
GUI Guider se yon zouti devlòpman koòdone grafik itilizatè-zanmitay ki soti nan NXP ki pèmèt devlopman rapid nan bon jan kalite ekspozisyon ak bibliyotèk grafik LVGL sous louvri. Editè drag-and-drop GUI Guider la fè li fasil pou itilize anpil karakteristik nan LVGL tankou widgets, animasyon, ak estil pou kreye yon entèfas ak kodaj minim oswa pa gen okenn ditou.

Avèk klike sou yon bouton, ou ka kouri aplikasyon w lan nan yon anviwònman simulation oswa ekspòte li nan yon pwojè sib. Kòd ki te pwodwi nan GUI Guider ka fasilman ajoute nan pwojè ou a, akselere pwosesis devlopman ak pèmèt ou san pwoblèm ajoute yon koòdone itilizatè entegre nan aplikasyon w lan. GUI Guider gratis pou itilize ak objektif jeneral NXP ak MCU kwazman epi li gen ladan modèl pwojè entegre pou plizyè platfòm sipòte. Pou aprann plis sou LVGL ak devlopman GUI sou GUI Guider, tcheke Light and Versatile Graphics Library ak GUI Guider.

Anviwònman devlopman

Premyèman, prepare ak mete kanpe anviwònman an pyès ki nan konpitè ak lojisyèl pou mete ann aplikasyon ansyen anample sou kad la.

Materyèl anviwònman
Anviwònman pyès ki nan konpitè mete kanpe pou verifye ansyen anample:

  • Twous devlopman HMI entelijan ki baze sou NXP i.MX RT117H (twos SLN_TLHMI_IOT)
  • SEGGER J-Link ak yon adaptè Cortex-M 9-pin ak V7.84a oswa yon nouvo vèsyon chofè a.

Software anviwònman
Se anviwònman an lojisyèl mete kanpe pou devlope ansyen anample:

  • MCUXpresso IDE V11.7.0
  • GUI Guider V1.6.1-GA
  • lvgl_gui_camera_preview_cm7 – egzanpample kòd nan nòt aplikasyon an dezyèm kòm lojisyèl an baz nan devlopman an. Pou plis detay, gade https://mcuxpresso.nxp.com/appcodehub.
  • RT1170 SDK V2.13.0 - kòm resous kòd pou devlopman an.
  • Lojisyèl SLN-TLHMI-IOT V1.1.2 - kòd sous HMI entelijan pibliye sou depo GitHub NXP kòm resous kòd pou devlopman an. Pou plis detay, gade: GitHub - NXP/mcu-smhmi nan v1.1.2

Pou plis detay sou akizisyon ak konfigirasyon anviwònman lojisyèl an, gade: Kòmanse ak SLN-TLHMI-IOT la.

Vizyon achitekti sou kad

Achitekti vizyon sou kad la montre nan Figi 2. Algo vizyon HAL (OASIS_HAL) gen pwosesis ki anba yo:

  • Fè fas enskripsyon ak rekonesans atravè modèl algorithm vizyon AI&ML apre li fin resevwa evènman ki gen rapò ak pwodiksyon UI HAL la. Notifye rezilta enferans ki soti nan modèl algorithm nan pwodiksyon UI HAL la.
  • Aksè (ajoute, efase...) baz done karakteristik figi a ki baze sou ti kras la file sistèm lè w rele API FaceDB HAL apre li fin resevwa evènman ki gen rapò ak pwodiksyon UI HAL la.
  • Mande ankadreman videyo kamera a nan kamera HAL la lè w ap fè enskripsyon ak rekonesans figi.

NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (3)

Aplike rekonesans figi sou fondasyon an

LVGL GUI rekonesans figi ansyenample (ansyen anample se bay pita) sou fondasyon an aplike ki baze sou ansyen anample codes of Implement LVGL GUI Camera Preview sou chapant (dokiman AN14147).

Pou demontre rekonesans nan figi nan ansyen anampLè sa a, fonksyon debaz app GUI (gade ekran prensipal la nan Figi 3) fèt jan sa dekri anba a:

  • Aplikasyon GUI la deklanche enskripsyon figi oswa evènman rekonesans nan pwodiksyon UI HAL la lè klike sou bouton Enskripsyon oswa Rekonesans. Ak pwodiksyon UI HAL notifye evènman an nan ajoute yon itilizatè nan vizyon algo HAL la apre enskripsyon an fas a siksè.
  • Aplikasyon GUI la deklannche evènman an nan efase yon itilizatè nan pwodiksyon UI HAL la lè klike sou bouton an Efase itilizatè apre yo fin rekonèt figi itilizatè a.
  • Aplikasyon GUI la deklannche evènman an nan sispann algo oasis la kouri nan pwodiksyon UI HAL la lè klike sou ekran an deyò bouton yo ak imaj.

NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (10)

Prepare pake lojisyèl an pou aplikasyon an nan ansyen anample.

  • Klone lojisyèl de baz lvgl_gui_camera_preview_cm7. Chanje non pwojè a ak prensipal la filenon pou lvgl_gui_face_rec_cm7.
  • Fondasyon an bezwen mete ajou nan lojisyèl an kòm kòd sous yo pou nwayo kad la te kòmanse piblik sou GitHub soti nan vèsyon an 1.1.2.
  • Ranplase katab kad la ak kopi V1.1.2 ki soti nan GitHub eksepte pou la files fwk_log.h ak fwk_common.h anba inc\ jan yo te modifye pou seri nòt aplikasyon an. Operasyon yo montre nan Figi 4:NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (11)
  • Efase katab framework_cm7 anba gwoup libs la epi retire bibliyotèk framework_cm7 ak chemen rechèch li yo ki konfigirasyon nan Pwojè> Pwopriyete> C/C++ Konstwi> Anviwònman> Anviwònman Zouti> MCU C++ Linker> Bibliyotèk depi yo bay kòd sous nwayo a.

Pèmèt karakteristik rekonesans figi sou kad
Karakteristik rekonesans figi a bati sou modèl algorithm vizyon ML yo bay kòm yon bibliyotèk estatik - yon bibliyotèk oasis lite pa NXP. Bibliyotèk la se yon ti bibliyotèk AI, trè efikas, Customized ak optimize. Modèl la gen ladan deteksyon figi, rekonesans figi, deteksyon vè, ak deteksyon vivan. Li sitou bay API OASISLT_run_extended() pou kouri tiyo rekonesans figi a pandan y ap mete ajou rezilta yo bay moun kap rele a atravè apèl evènman yo, epi ajoute / mete ajou / efase figi nan baz done a atravè apèl baz done figi yo apre yo fin espesifye enfòmasyon ankadreman sous la, rapèl, ak memwa. pisin bibliyotèk la itilize lè w rele yon lòt API OASISLT_init() sou inisyalizasyon. Rele API yo ak fonksyon callback yo aplike nan vizyon algo HAL nan fondasyon an.

Ajoute bibliyotèk modèl vizyon algo

  1. Kopi katab oasis ki gen bibliyotèk la ak header ki gen rapò a file soti nan smart HMI\coffee_machine\cm7\libs\ nan katab lib ansyen anample SW.
  2. Ajoute chemen rechèch la nan header la file nan Pwojè> Pwopriyete> C/C++ Konstwi> Anviwònman> Anviwònman Zouti> MCU C du> Gen ladann ak MCU C++ du> Gen ladan: "${workspace_loc:/${ProjName}/libs/oasis/include}"
  3. Ajoute lib la ak chemen rechèch li yo sou Pwojè> Pwopriyete> C/C++ Build> paramèt> MCU C+ + Linker> Bibliyotèk: liboasis_lite2D_DEFAULT_117f_ae.a "${workspace_loc:/${ProjName}/libs/oasis}" ak definisyon makro a pou pèmèt karakteristik la sou Pwojè> Pwopriyete> C/C++ Konstwi> Anviwònman> Anviwònman Zouti> MCU C du> Preprocessor ak MCU C++ du> Preprocessor: SMART_TLHMI_2D

Pèmèt vizyon algo HAL
Vizyon algo HAL la kondwi modèl vizyon algo pou travay epi li reponn rezilta yo nan pwodiksyon UI HAL apre li fin resevwa evènman yo.

Pou pèmèt li, klonaj chofè HAL ki te egziste menm jan an file kote fonksyon ki anba yo aplike:

  • Aplike callbacks nan operasyon baz done figi ak manyen evènman yo.
  • Kondwi algo vizyon an pou travay lè w rele API bibliyotèk oasis la.
  • Aksè baz done figi itilizatè yo ak baz done aplikasyon an (li pa nesesè nan ansyen anample).
  • Resevwa evènman yo epi voye rezilta yo bay UI HAL.

Pi gwo travay pou aplike HAL pou ansyenampyo se:

  • Klone chofè HAL ki te egziste menm jan an file epi chanje non ki gen rapò yo.
  • Retire kòd ki gen rapò ak operasyon done aplikasyon an.
  • Mete ajou definisyon yo ak fonksyon pou jere evènman yo soti nan pwodiksyon UI HAL pa ansyen anampkonsepsyon.
  • Ajoute konfigirasyon ki nesesè nan inisyalizasyon oasis.

Etap detaye yo jan sa a:

  1. Klone hal_vision_algo_oasis_coffeemachine.c. Chanje a filenon pou hal_vision_algo_oasis_guifacerec.c. Epi ranplase tout strings CoffeeMachine ak GUIFaceRec nan file.
  2. Retire kòd ki genyen fisèl coffeedb (ki pa dispozisyon majiskil) ki gen rapò ak baz done aplikasyon an, pou egzanpample, #include hal_sln_coffeedb.h.
  3. Modifye fonksyon HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify() pou jere evènman yo nan pwodiksyon UI HAL.
    • Chanje definisyon evènman kEventFaceRecId_RegisterCoffeeSelection an kEventFaceRecId_RegisterUserFace ak chèn estrikti regCoffeeSelection a regGUIFaceRec pou jere evènman an pou ajoute nouvo done karakteristik figi nan baz done a.
    • Pou montre pwosesis la estanda nan aksyon yo rekonesans figi nan ansyen anample, modifye manyen nan ka a nan kEventFaceRecID_OasisSetState ak definisyon yo nan eta yo:
      • koASISLiteState
      • Enskripsyon koASISLiteState
      • Rekonesans koASISLiteState
      • Sispann
  4. Ajoute epi modifye definisyon evènman yo mansyone nan etap ki anwo a.
    • Kopi header la file smart_tlhmi_event_descriptor.h soti nan smart HMI\coffee_machine \cm7\source\event_handlers\ nan sous katab ansyen an.ample SW. Mete ajou la file jan pi ba a:
    • Chanje definisyon evènman kEventFaceRecId_RegisterCoffeeSelection an kEventFaceRecId_RegisterUserFace nan kalite enum _event_smart_tlhmi_id ak kòd estrikti regCoffeeSelection a regGUIFaceRec nan struct _event_smart_tlhmi. Kidonk, chanje estrikti register_coffee_selection_event_t pou regCoffeeSelection pou register_gui_facerec_event_t.
    • Efase lòt sa ki itilize pou aplikasyon pou machin kafe a, pa egzanpample, liy kòd la sou vwa: #include "hal_event_descriptor_voice.h".
    • Ajoute kalite kOASISLiteState_Stopped ak kOASISLiteState_Running nan kalite enum oasis_lite_state_t nan hal_vision_algo.h anba framework>hal>vision nan pwojè a jan pi ba a:
      typedef enum _oasis_lite_state {
      • koASISLiteState
      • Kouri, koASISLiteState
      • Sispann, kOASISLiteState
      • Rekonesans,
      • koASISLiteState
      • Enskripsyon, koASISLiteState
      • DeRegistration, koASISLiteState
      • RemoteRegistration, kOASISLiteState
      • Konte
    • Sèvi ak struct ajou oasis_lite_state_t ki anwo a pou rafine struct oasis_state_event_t nan hal_event_descriptor_face_rec.h anba framework>hal>vision nan pwojè a jan pi ba a: typedef struct _oasis_state_event_t { oasis_lite_state_t eta; } oasis_state_event_t;
  5. Chanje tout kEventInfo_Remote an kEventInfo_Local pou voye evènman ki soti nan vizyon algo HAL la nan lòt HAL ki kouri sou menm nwayo a ak yon sèl nwayo olye pou yo itilize doub nwayo nan ansyen an.ample.
  6. Ajoute ak modifye konfigirasyon ki anba yo pou inisyalizasyon oasis nan OASISLT_init():
    • Ajoute definisyon makro ak seksyon memwa pou ankadreman videyo a nan board_define.h: #define OASIS_RGB_FRAME_WIDTH 800
      • #defini OASIS_RGB_FRAME_HEIGHT 600
      • #defini OASIS_RGB_FRAME_SRC_FORMAT kPixelFormat_YUV1P444_RGB
      • #defini OASIS_RGB_FRAME_BYTE_PER_PIXEL 3
      • #defini AT_FB_SHMEM_SECTION_ALIGN(var, alignbytes) \
      • __attribute__((seksyon(“.bss.$fb_sh_mem,\”aw\”,%nobits @”))) var
      • __attribute__((aligned(alignbytes)))
    • Konfigirasyon plasman memwa a nan seksyon memwa ki anwo a fb_sh_mem sou Pwojè> Pwopriyete> C/C++ Bati> Anviwònman MCU yo montre nan Figi 5:NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (12)
    • Deklare global varyab g_DTCOPBuf nan lvgl_gui_face_rec_cm7.cpp: AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf[DTC_OPTIMIZE_BUFFER_SIZE], 4);
    • Kontinye ajoute definisyon yo itilize nan varyab ki anwo a:
    • Defini seksyon ki anwo a nan board_define.h:
      • #defini AT_NONCACHEABLE_SECTION_ALIGN_DTC (var, alibyte) \
      • attribute__((seksyon(“.bss.$SRAM_DTC_cm7,\”aw\”,%nobits @”))) var
      • atribi__((aliyen (alignbytes)))
    • Mete tèt la file hal_vision_algo.h ki genyen definisyon makro DTC_OPTIMIZE_BUFFER_SIZE nan app_config.h ki enkli nan lvgl_gui_face_rec_cm7.cpp.
  7. Mete varyab s_debugOption a vre pou montre sitiyasyon pwogrè sou rekonesans figi.
  8. Ajoute chemen rechèch la nan header la files of the vision HAL on Project > Properties > C/C++ Build > settings > Tool Settings > MCU C compilateur > Gen ladann ak MCU C++ du > Gen ladann: "${workspace_loc:/${ProjName}/framework/hal/vision}"
  9. Ajoute definisyon ki anba a pou pèmèt vizyon algo HAL nan board_define.h: #define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec

Pèmèt pwodiksyon UI HAL
Pwodiksyon UI HAL notifye evènman yo nan vizyon algo HAL la epi li reponn a rezilta enferans ki soti nan vizyon algo HAL la. Avèk app a entèfas, evènman yo jeneralman deklanche pa app a epi rezilta yo montre sou app a.

Pou pèmèt li, klonaj chofè HAL ki te egziste menm jan an file kote jeneralman fonksyon ki anba yo aplike:

  • Notifye evènman yo pou rekonesans figi ak aksè baz done.
  • Aplike apèl yo pou app GUI pou deklanche evènman yo.
  • Manyen rezilta enferans yo nan modil algo vizyon an.
  • Montre pwosesis la ak rezilta nan evènman yo manyen sou UI a pa ba pwogrè a kontwole ak revèy yo ak rektang gid figi.

Pi gwo travay pou aplike HAL pou ansyenampYo itilize nan dokiman sa a:

  • Klone chofè HAL ki te egziste menm jan an file epi chanje non ki gen rapò yo.
  • Retire kòd ki gen rapò ak aplikasyon an.
  • Mete ajou fonksyon yo pou notifikasyon evènman yo ak repons rezilta yo pa ansyen anampkonsepsyon.
  • Ajoute apèl yo pou aplikasyon GUI pou deklanche evènman yo.

Etap detaye yo jan sa a:

  1. Klonaj hal_output_ui_coffee_machine.c. Chanje a filenon pou hal_ output_ui_guifacerec.c.
  2. Ranplase tout strings CoffeeMachine ak GUIFaceRec nan file.
  3. Retire kòd ki gen rapò ak app a - machin kafe.
    • Retire fonksyon WakeUp() ak _StandBy() ak kòd ki gen rapò yo (kapab chèche fisèl wake_up ak sibstiti pou yo).
    • Retire preview evènman mòd manyen kòd ki gen rapò nan HAL_OutputDev_UiGUIFaceRec_Input Notify().
    • Retire fonksyon UI_xxx_Callback() ak kòd ki genyen gui_ ak ekran ki gen rapò ak entèfas machin kafe a eksepte gui_set_virtual_face() pou pre a.view karakteristik mòd.
    • Retire tout kòd ki enplike nan varyab s_IsWaitingAnotherSelection ak s_IsWaitingRegisterSelection ki gen rapò ak app machin kafe a.
    • Retire kòd ki gen rapò ak vwa, odyo, ak lang. Pou egzanpample:
      • #include "hal_voice_algo_asr_local.h",
      • #include "hal_event_descriptor_voice.h"
  4. Pou notifikasyon evènman divès kalite, aplike nouvo fonksyon _OutputManagerNotify(), _SetFaceRec(), _RegisterGUIFaceRec(), ak DeregisterGUIFaceRec() refere li a fonksyon yo _StopFaceRec(), _RegisterCoffeeSelection(), ak DeregisterCoffeeSelection() anvan deeSelection yo.
    • _OutputManagerNotify() aplike fonksyon pwodiksyon evènman debaz la pou voye yon evènman nan vizyon algo HAL la. Fonksyon ki anba yo rele li pou voye pwòp evènman yo.
    • _SetFaceRec() voye evènman kEventFaceRecID_OasisSetState pou deklanche algo vizyon pou anrejistreman figi, rekonesans, epi sispann algo la.
    • _RegisterGUIFaceRec() voye evènman kEventFaceRecId_RegisterGUIFaceRec ki defini nan smart_tlhmi_event_descriptor.h pou ajoute done karakteristik figi nan baz done a lè enskripsyon an OK.
    • DeregisterGUIFaceRec() voye evènman kEventFaceRecID_DelUser pou efase done karakteristik figi yo nan baz done a lè w ap pase rekonesans figi a.
  5. Mete ajou kòd yo pou pran aksyon korespondan yo ki gen ladan rafrechi entèfas la lè w rele API yo nan aplikasyon LVGL GUI pou rezilta enferans enskripsyon figi ak rekonesans nan fonksyon _InferComplete_Vision() pa ansyen an.ampkonsepsyon le yo. Pou egzanpample, lè enskripsyon figi a reyisi,
    • Sispann montre pwogrè a lè w rele _FaceRecProcess_Stop();
    • Sispann anrejistreman figi a lè w rele _SetFaceRec(kOASISLiteState_Stopped);
    • Montre rezilta siksè sou entèfas la: gui_show_face_rec_result(kFaceRecResult_OK, s_UserId);
    • Anrejistre done figi yo nan baz done a: _RegisterUserFace(s_UserId);
  6. Ajoute fonksyon callback UI pou okipe evènman yo: preview, enskripsyon figi, rekonesans, ak efase itilizatè deklanche soti nan entèfas la. Pou egzanpample, apèl enskripsyon figi an: void UI_Registration_Callback(){ _SetFaceRec(kOASISLiteState_Registration); _FaceRecProcess_Start(); }
    • Epi ajoute fonksyon _FaceRecProcess_Start() ak _FaceRecProcess_Stop() pou montre pwogrè ak estati nan diferan evènman ak rezilta yo.
    • Mete ajou fonksyon callback ISR revèy _SessionTimer_Callback() pou jere ka tan-soti lè w rele: gui_show_face_rec_result(kFaceRecResult_TimeOut, s_UserId);
  7. Ajoute definisyon ki anba yo pou pèmèt UI pwodiksyon HAL nan board_define.h: #define ENABLE_OUTPUT_DEV_UiGUIFaceRec

Avi:
Pou prezante karakteristik rekonesans figi a pi byen, kenbe fonksyon an pou montre pwosesis la ak rezilta rekonesans figi nan pwodiksyon UI HAL la. Fonksyon an dekri jan pi ba a

  • Rektang gid figi a montre ble, ak ba pwogrè a montre pwogrè a lè w kòmanse anrejistreman oswa rekonesans figi an.
  • Rektang gid figi a montre wouj lè enskripsyon figi a reyisi.
  • Rektang gid figi a montre vèt lè rekonesans figi a reyisi.
  • Rektang gid figi a kenbe ble, ak ba pwogrè a montre pwogrè konplè lè aksyon an pa reyisi apre ekspirasyon revèy la. Nan pwen sa a, sispann enskripsyon an oswa rekonesans figi.

Ba pwogrè a ak rektang gid figi yo prezante kòm ikon yo ki bati nan binè resous la file yo dwe pwograme nan Flash. Endikasyon yo sou done ikon yo sou SDRAM yo mete kanpe nan fonksyon LoadIcons(APP_ICONS_BASE) ki rele sou pwodiksyon UI HAL aparèy inisyalizasyon nan pwodiksyon UI HAL. Li dwe aplike sipò ikon yo pou fonksyon an.

Aplike sipò ikon yo

  1. Bati resous la konbine ikon yo ak imaj yo itilize nan aplikasyon LVGL GUI:
    • Klone kat ikòn header la files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, ak virtual_face_red_420x426.h soti nan smart HMI
      \machin kafe\resous\icons\ nan nouvo ikon yo katab anba dosye resous ansyen anample SW.
    • Ajoute chemen rechèch la pou kat icon la files nan kamera_pre aview_resource.txt file nan katab resous la, pou egzanpample: icon ../resource/icons/process_bar_240x14.h
    • Egzekite camera_preview_resource_build.bat pou konstwi resous imaj ak ikon pou jenere bin la file kamera_preview_resource.bin ak enfòmasyon an file resource_information_table.txt (Gade Figi 6).NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (13)
  2. Defini adrès kòmansman an sou SDRAM ak gwosè ikon yo nan app_config.h. Adrès la kòmanse akote imaj aplikasyon GUI la. Gwosè a pwodwi nan enfòmasyon an file. #defini APP_ICONS_BASE (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) #defini APP_ICONS_SIZE 0x107c40
  3. Mete ajou gwosè yo asiyen nan seksyon memwa ki rele res_sh_mem nan 0x200000 lè w redefini li nan app_config.h: #define RES_SHMEM_TOTAL_SIZE 0x200000 ak anviwònman ki koresponn lan nan Pwojè> Pwopriyete> C/C++ Konstwi> Paramèt MCU.
  4. Ajoute gwosè icon nan gwosè total resous ki chaje soti nan Flash nan SDRAM nan fonksyon APP_LoadResource() nan prensipal la. file lvgl_gui_face_rec_cm7.cpp: memcpy((void *)APP_LVGL_IMGS_BASE, pLvglImages, APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE);

Avi: Pou konplete karakteristik rekonesans figi, sipò app LVGL GUI bezwen. Fonksyon callback UI nan pwodiksyon UI HAL la ap rele nan aplikasyon LVGL GUI pou jere evènman yo nan ekran UI. Nan lòt men an, pwodiksyon UI HAL la rele API yo soti nan app a LVGL GUI pou mete ajou UI a montre rezilta a ak estati. Devlopman aplikasyon LVGL GUI relativman endepandan epi li prezante nan Seksyon 4.3.

4.1.5 Kòmanse aparèy HAL ak administratè pou rekonesans figi
Algo vizyon pèmèt HAL ak UI pwodiksyon HAL ak manadjè yo yo te kòmanse nan prensipal la file
lvgl_gui_face_rec_cm7.cpp apre konvèsyon devlopman sou kad la jan pi ba a:

  1. Mete tèt la file ki gen rapò ak de administratè HAL yo lè w ajoute liy kòd la:
    • #include ” fwk_output_manager.h “
    • #include "fwk_vision_algo_manager.h"
  2. Deklare aparèy HAL yo:
    • HAL_VALGO_DEV_DECLARE(OasisGUIFaceRec);
    • HAL_OUTPUT_DEV_DECLARE(UiGUIFaceRec);
  3. Anrejistre aparèy HAL yo:
    • HAL_VALGO_DEV_REGISTER(OasisGUIFaceRec, ret);
    • HAL_OUTPUT_DEV_REGISTER(UiGUIFaceRec, ret);
  4. Inisyalize manadjè yo:
    • FWK_MANAGER_INIT(VisionAlgoManager, ret);
    • FWK_MANAGER_INIT(OutputManager, ret);
  5. Kòmanse manadjè yo:
    • FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, ret);
    • FWK_MANAGER_START(OutputManager, OUTPUT_MANAGER_TASK_PRIORITY, ret);
  6. Defini priyorite travay manadjè yo:
    • #defini VISION_ALGO_MANAGER_TASK_PRIORITY 3
    • #defini OUTPUT_MANAGER_TASK_PRIORITY 1

Ajoute sipò baz done figi sou kad
Done karakteristik figi anrejistre yo jwenn aksè nan baz done figi ki estoke sou Flash atravè yon ti kras file sistèm. Etap yo pou ajoute sipò baz done figi yo dekri anba a.

Ajoute chofè pou depo Flash
Kopi Flash koòdone FlexSPI chofè a files fsl_flexspi.c ak fsl_flexspi.h, ak chofè a chifreman done files fsl_caam.c ak fsl_caam.h soti nan chemen SDK_2_13_0_MIMXRT1170-EVK\devices \MIMRX1176\drivers\ nan dosye chofè ansyen an.ample SW.

Ajoute sipò nan nivo tablo a

  1. Ajoute definisyon FlexSPI yo itilize pou aparèy Flash abò a nan board.h:
    • #defini BOARD_FLEXSPI FLEXSPI1
    • #defini BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1
    • #defini BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE
  2. Kopi operatè yo ak konfigirasyon yo files nan aparèy la Flash flexspi_nor_flash_ops.c, flexspi_nor_flash_ops.h, sln_flash_config.c, sln_flash_config_w25q256jvs.h, ak sln_flash_ops.h anba chemen smart HMI\cm7\flash folder of_machine\cmXNUMXcon the fig.ample SW.
    • Dezaktive "Ekskli resous nan bati" nan C/C++ Build> Anviwònman apre klike sou dwa-dwa sou la. filenon s 'ak louvri Pwopriyete yo pou pèmèt yo bati nan pwojè a.
  3. Chanje header enkli la filenon sln_flash_config.h pou sln_flash_config_w25q256jvs.h nan sln_flash_config.c ak flexspi_nor_flash_ops.h.
  4. Mete sous revèy FlexSPI1 nan file clock_config.c refere li a app machin kafe a.

Ajoute adaptè ak sipò nivo mwayen

  1. Kopi a files sln_flash.c, sln_flash.h, sln_encrypt.c, ak sln_encrypt.h kòm chofè adaptè pou file sistèm ak app soti nan chemen smart HMI\coffee_machine\cm7\source\ nan sous katab ansyen an.ample. Mete ajou nouvo a files:
    • Dezaktive "Ekskli resous nan bati" sou yo pou bati.
    • Chanje tout header ki enkli yo file non sln_flash_config.h pou sln_flash_config_w25q256jvs.h.
  2. Kopi katab la filesistèm ki gen API yo pou ti kras la filesistèm ak chofè HAL soti nan HMI entelijan \coffee_machine\cm7\source\ rive nan ansyen anample SW. Ak aktyalizasyon pou nouvo katab la:
    • Dezaktive "Ekskli resous nan bati" sou li pou bati.
    • Ajoute chemen enkli ladan li nan paramèt pwojè a: "${workspace_loc:/${ProjName}/filesistèm}"
    • Chanje header enkli la file non sln_flash_config.h pou sln_flash_config_w25q256jvs.h ak fica_definition.h pou app_config.h nan file sln_flash_littlefs.h.
  3. Kopi folder nan littlefs ki gen ware nan mitan - ti kras filesistèm soti nan chemen SDK_2_13_0_ MIMXRT1170-EVK\middleware\ rive nan ansyen an.ample SW. Epi mete ajou nouvo katab la:
    • Dezaktive "Ekskli resous nan bati" sou li pou bati.
    • Ajoute chemen enkli ladan li nan paramèt pwojè a: "${workspace_loc:/${ProjName}/littlefs}"

Ajoute chofè HAL 

  • Gen de aparèy HAL - file sistèm ak baz done figi HAL sipòte pou karakteristik aksè baz done a epi yo deja aplike nan fondasyon an san okenn chanjman. Pèmèt yo lè w ajoute definisyon ki anba yo nan board_define.h:
    • #defini ENABLE_FLASH_DEV_Littlefs
    • #defini ENABLE_FACEDB

Epi chanje non baz done figi pou ansyen anample: #defini OASIS_FACE_DB_DIR "oasis_gui_face_rec"

Ajoute sipò nan nivo aplikasyon an

  1. Mete ajou prensipal la file lvgl_gui_face_rec_cm7.cpp:
    • Mete tèt la file ki gen rapò ak Flash la file manadjè sistèm HAL lè w ajoute liy kòd la: #include "fwk_flash.h"
    • Deklare epi anrejistre file sistèm HAL aparèy:
      • HAL_FLASH_DEV_DECLARE(Littlefs);
      • HAL_FLASH_DEV_REGISTER(Littlefs, ret);
        Remak: la file sistèm HAL aparèy dwe anrejistre anvan tout manadjè aparèy yo inisyalize nan fonksyon APP_InitFramework().
    • Rele fonksyon BOARD_ConfigMPU() nan APP_BoardInit() pou konfigirasyon MPU.
  2. Mete la file plasman sistèm sou Flash nan la file app_config.h pa defini definisyon makro yo itilize nan file sln_flash_littlefs.h:
    • #defini FICA_IMG_FILE_SYS_ADDR (FLASH_IMG_SIZE + RES_SHMEM_TOTAL_SIZE)
    • #defini FICA_FILE_SYS_SIZE (0x280000)

Konfigirasyon
Gen kèk kòd ki gen rapò ak Flash yo egzekite nan zòn SRAM ITC pou ase pèfòmans. Kopi katab linkscripts ki genyen konfigirasyon linker yo soti nan chemen smart HMI\coffee_machine\cm7\ nan ansyen an.ample SW.

Aplike yon aplikasyon LVGL GUI
Devlopman yon aplikasyon LVGL GUI ki baze sou kad rele API yo soti nan pwodiksyon UI HAL epi li bay API yo pou pwodiksyon UI HAL (Gade Seksyon 4.1.3 pou aplikasyon pwodiksyon UI HAL).

Sepandan, aplikasyon an detaye nan yon aplikasyon LVGL GUI depann sou kondisyon yo ak konsepsyon aplikasyon an. Aplikasyon GUI nan ansyen sa aample fèt jan sa dekri nan kòmansman seksyon Seksyon 4 la.

Anba a se entwodiksyon aplikasyon yo:

  1. Kòd Customized yo aplike nan custom.c ak custom.h bay GUI Guider kòm koòdone ant pwojè GUI Guider ak pwojè sistèm entegre.
    •  Ajoute nouvo fonksyon ki rele gui_xxx() nan custom.c pou reyalize fonksyon ki anba yo:
      • Pou pwodiksyon UI HAL ak aplikasyon GUI pou mete ajou UI.
      • Pou aplikasyon GUI deklanche evènman lè w rele fonksyon UI callback soti nan pwodiksyon UI HAL.
        Pou egzanpampNouvo fonksyon gui_event_face_rec_action() a rele fonksyon callback UI pou okipe youn nan evènman enskripsyon figi, rekonesans figi ak efase itilizatè ki deklanche nan aplikasyon entèfas lè yo klike sou bouton ki gen rapò a.
        Nòt: Fonksyon gui_set_virtual_face() rele nan pwodiksyon UI HAL pou preview mòd bezwen aplike nan custom.c:
    •  Klonaj fonksyon gui_set_virtual_face() soti nan smart HMI\coffee_machine\cm4\custom \custom.c.
    •  Chanje non widje a home_img_cameraPreview to screen_img_camera_preview nan fonksyon an.
    •  Aplike fonksyon UI callback ak menm pwototip a tout sa yo ki nan pwodiksyon UI HAL anba kontwòl makro definisyon #ifndef RT_PLATFORM nan custom.c pou konpatib ak pwojè GUI Guider paske fonksyon sa yo nan pwodiksyon UI HAL yo depann de la. platfòm entegre. Nan custom.c, yo depann sou similatè a sou gid GUI epi yo endepandan nan platfòm la entegre. Pou egzanpample, apèl enskripsyon figi a aplike jan pi ba a pou similatè GUI Guider kouri: #ifndef RT_PLATFORM void UI_Registration_Callback() { gui_hide_del_user_btn(true); s_InAction = fo; retounen; }
      Remak: Gade nan menm pwototip fonksyon yo prezante nan etap 6 nan Seksyon 4.1.3
      Definisyon makro RT_PLATFORM la mete sou anviwònman pwojè MCUXpresso jan yo montre nan Figi 7:NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (14)
    • Deklare tout fonksyon ki rele UI_xxx_Callback() ak gui_xxx() nan custom.h epi ajoute custom.h ki enkli nan smart_tlhmi_event_descriptor.h pou pataje API GUI yo nan pwodiksyon UI HAL.
  2. Devlope GUI a sou GUI Guider:
    • Klone kamera katab la preview ki gen lojisyèl pwojè GUI Guider nan katab gui_guider nan pake lojisyèl baz lvgl_gui_camera_preview_cm7. Chanje non ki gen rapò kamera_preview to face_rec pou nouvo ansyen anample.
    • Kopi pi wo a mete ajou custom.c ak koutim. h nan nouvo lojisyèl pwojè GUI Guider la.
    •  Louvri nouvo pwojè face_rec sou GUI Guider. Mizajou jan pi ba a:
      • Ajoute nouvo bouton an ki make Efase itilizatè. Ajoute drapo Hidden nan li pou bouton an pral kache lè app entèfas la kòmanse.
      • Ajoute liy kòd la pou rele API gui_event_face_rec_action() ak diferan paramèt ID evènman sou deklanche "Released" nan Anviwònman Evènman an nan tout bouton Enskripsyon, Rekonesans ak Efase Itilizatè pou deklanche evènman yo nan enskripsyon figi, rekonesans figi ak efase itilizatè. Figi 8 montre kòd pou evènman an nan Enskripsyon bouton an:NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (15)
  3. Mete ajou kòd ki pwodui nan GUI Guider nan pwojè MCUXpresso.
    • Ranplase sa ki ladan yo eksepte pou imaj katab yo nan katab ki te pwodwi nan SW pwojè MCUXpresso ak sa ki koresponn yo nan katab ki te pwodwi nan pwojè GUI Guider SW.

Remak: Pou plis detay sou modifikasyon yo prezante pi wo a, tcheke ansyen anample lojisyèl nan https://mcuxpresso.nxp.com/appcodehub.

Verifikasyon ak ansyen anample pwojè

Pou jwenn ansyen anampPake lojisyèl ki gen resous ak zouti pou nòt aplikasyon sa a, vizite: https://mcuxpresso.nxp.com/appcodehub. Louvri ansyen anample pwojè sou MCUXpresso IDE. Konstwi ak pwograme .axf la file nan adrès 0x30000000 ak pwogram bin resous la file kamera_preview_resource.bin nan adrès 0x30800000.

LVGL GUI rekonesans figi ansyenampli travay nòmalman jan pi ba a:

  • Preview: Avèk pouvwa moute, kouran videyo yo te kaptire pa kamera a montre sou zòn nan espesifik nan kamera preview sou ekran entèfas. Etikèt estati a montre "Preview…”. Pou plis detay, gade figi 3. Bouton Efase itilizatè a kache. Lè klike sou zòn ki deyò bouton yo ak imaj, li montre pre aview eta kòm pi wo a apre enskripsyon figi oswa aksyon rekonesans fini.
  • Enskripsyon:
    • tartup: Lè yo klike sou bouton Enskripsyon an, enskripsyon figi a kòmanse. Etikèt sitiyasyon an chanje pou montre "Enskripsyon...", rektang gid figi a montre ble, ak ba pwogrè a kòmanse montre pwogrè a. Asire w ke figi itilizatè a montre nan rektang gid figi ble a pou anrejistreman.
    • siksè: Etikèt estati a montre "Enskripsyon...OK" ak nimewo idantifikasyon itilizatè ki anrejistre a, rektang gid figi a vin wouj si enskripsyon figi a reyisi anvan pwogrè a montre plen sou ba a.
    • Echèk -> Tan soti: Etikèt estati a montre "Enskripsyon ... Tan soti" si enskripsyon figi a toujou echwe lè pwogrè a montre plen sou ba a.
    • Echèk -> Duplication: Etikèt estati a montre "Enskripsyon...Echwe", rektang gid figi a vin vèt si yo rekonèt figi anrejistre a anvan pwogrè a montre plen sou ba a.
  • kognisyon:
    • Demaraj: Lè yo klike sou bouton Rekonesans, rekonesans figi a kòmanse. Etikèt sitiyasyon an chanje pou montre "Rekonesans...", rektang gid figi a montre ble, epi ba pwogrè a kòmanse montre pwogrè a. Asire w ke figi itilizatè a montre nan rektang gid figi ble a pou anrejistreman.
    • siksè: Etikèt estati a montre "Rekonesans...OK" ak nimewo ID itilizatè rekonèt, rektang gid figi a vin vèt si rekonesans figi a reyisi anvan pwogrè a montre plen sou ba a. Nan pwen an, bouton Efase itilizatè a parèt. Sa vle di ke itilizatè a pèmèt yo dwe efase sèlman lè li rekonèt.
    • ailure: Etikèt estati a montre "Rekonesans ... Tan soti" si rekonesans figi a toujou echwe lè pwogrè a montre plen sou ba a.
  • Efase itilizatè: Lè yo klike sou bouton "Efase Itilizatè" la, apre rekonesans figi a reyisi, etikèt estati a chanje pou montre "Efase Itilizatè...OK" ak rektang gid figi a vin ble epi pwogrè a parèt konplè sou ba a. Bouton Efase itilizatè a kache ankò. Se figi/itilizatè rekonèt la efase nan baz done a. Sa vle di figi/itilizatè sa a pa ka rekonèt jiskaske yo anrejistre ankò.

Remak sou kòd sous la nan dokiman an
ExampKòd ki montre nan dokiman sa a gen dwa sa yo ak lisans BSD-3-Clause:

Copyright 2024 NXP Redistribisyon ak itilizasyon nan fòm sous ak binè, avèk oswa san modifikasyon, yo pèmèt si kondisyon sa yo satisfè:

  1. Redistribisyon nan kòd sous yo dwe kenbe avi dwadotè ki pi wo a, lis kondisyon sa a ak egzijans sa a.
  2. Redistribisyon yo nan fòm binè yo dwe repwodui avi sou dwadotè ki anwo yo, lis kondisyon sa a ak eksklizyon sa a nan dokiman an ak/oswa lòt materyèl yo dwe bay ak distribisyon an.
  3. Ni non moun ki gen dwadotè a ni non kontribitè li yo pa ka itilize pou andose oswa pwomouvwa pwodwi ki sòti nan lojisyèl sa a san otorizasyon espesifik alekri.

TITANÈ DWA DWA AK KONTRIBÈ YO KI BAY LOGISYISYÈ SA A "KÒM YO" AK NENPÒT GARANTI EXPRESS OSWA ENPLIKITE, KI ENKLI, MEN SE PA LIMIMITE A, GARANTI ENPLIKITE AK MARCHANDISITE AK APTITE POU YON OBJEKTIF PARTIKILÈ. NAN OKENN TITLÈ DWA DWA A OUBYEN KONTRIBÈ A PAP RESPONSYON POU NENPÒT DOmaj DIRÈK, ENDRÈK, AK ENSIDAN, ESPESYAL, EGZANPLÈ, OSWA KONSEKANS (KENKLI, MEN SE PA LIMITE A, ACHTE BAY RANPLÒN OSWA SÈVIS ; OSWA ENTÈRIPYON BIZNIS) KELTAN KOZE AK SOU NENPÒT TEORI RESPONSABILITE, KIT NAN KONTRA, RESPONSABILITÉ STRICT, OSWA OTÒT (KENKLI NEGLIJANS OSWA OTREMAN) KI DEVITE NAN NENPÒT FÒM KI SOTI DE ITILIZE LOGISYISYÈ SA A, MENM SI YO YO AVVISE POSSIBLITE SA A.

Istwa revizyon

NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (16)

Enfòmasyon legal

Definisyon
Draft — Yon estati bouyon sou yon dokiman endike ke kontni an toujou anba re entènview ak sijè a apwobasyon fòmèl, ki ka lakòz modifikasyon oswa adisyon. NXP Semiconductors pa bay okenn reprezantasyon oswa garanti sou presizyon oswa konplè enfòmasyon ki enkli nan yon vèsyon bouyon nan yon dokiman epi yo pa dwe gen okenn responsablite pou konsekans yo nan itilizasyon enfòmasyon sa yo.

Limit responsabilite nou

  • Garanti limite ak responsablite — Yo kwè enfòmasyon ki nan dokiman sa a yo egzat ak serye. Sepandan, NXP Semiconductors pa bay okenn reprezantasyon oswa garanti, eksprime oswa implicite, sou presizyon oswa konplè enfòmasyon sa yo epi yo pa dwe gen okenn responsablite pou konsekans yo nan itilizasyon enfòmasyon sa yo. NXP Semiconductors pa pran okenn responsablite pou kontni ki nan dokiman sa a si yon sous enfòmasyon andeyò NXP Semiconductors bay li.
    Nan okenn ka NXP Semiconductors ta dwe responsab pou nenpòt domaj endirèk, ensidan, pinitif, espesyal oswa konsekan (ki gen ladan - san limitasyon - pèdi pwofi, pèdi ekonomi, entèripsyon biznis, depans ki gen rapò ak retire oswa ranplasman nenpòt pwodwi oswa chaj retravay) kit oswa ou pa domaj sa yo baze sou tort (ki gen ladan neglijans), garanti, vyolasyon kontra oswa nenpòt lòt teyori legal.
    Malgre nenpòt domaj ke kliyan ta ka fè pou nenpòt ki rezon, responsablite total ak kimilatif NXP Semiconductors anvè kliyan pou pwodwi ki dekri la a ap limite an akò ak Tèm ak kondisyon pou vann komèsyal NXP Semiconductors.
  • Dwa pou fè chanjman — NXP Semiconductors rezève dwa pou fè chanjman nan enfòmasyon ki pibliye nan dokiman sa a, ki gen ladan espesifikasyon san limitasyon ak deskripsyon pwodwi, nenpòt ki lè epi san avètisman. Dokiman sa a ranplase ak ranplase tout enfòmasyon yo te bay anvan piblikasyon sa a.
  • Apwopriye pou itilize — Pwodwi NXP Semiconductors yo pa fèt, otorize oswa garanti yo dwe apwopriye pou itilize nan sipò lavi, sistèm oswa ekipman ki enpòtan pou lavi oswa sekirite, ni nan aplikasyon kote echèk oswa fonksyone byen nan yon pwodwi NXP Semiconductors kapab rezonab pou rezilta nan. blesi pèsonèl, lanmò oswa domaj grav nan pwopriyete oswa anviwònman an. NXP Semiconductors ak founisè li yo pa aksepte okenn responsablite pou enklizyon ak/oswa itilizasyon pwodwi NXP Semiconductors nan ekipman oswa aplikasyon sa yo e se poutèt sa enklizyon ak/oswa itilizasyon sa yo se sou pwòp risk kliyan an.
  • Aplikasyon — Aplikasyon ki dekri isit la pou nenpòt nan pwodwi sa yo se pou rezon ilistrasyon sèlman. NXP Semiconductors pa fè okenn reprezantasyon oswa garanti ke aplikasyon sa yo pral apwopriye pou itilizasyon an espesifye san plis tès oswa modifikasyon.
    Kliyan yo responsab pou konsepsyon ak operasyon aplikasyon yo ak pwodwi yo lè l sèvi avèk pwodwi NXP Semiconductors, epi NXP Semiconductors pa aksepte okenn responsablite pou nenpòt asistans ak aplikasyon oswa konsepsyon pwodwi kliyan. Se sèl responsablite kliyan an pou detèmine si pwodwi NXP Semiconductors apwopriye ak anfòm pou aplikasyon kliyan an ak pwodwi ki planifye, osi byen ke pou aplikasyon an planifye ak itilizasyon kliyan twazyèm pati kliyan an (yo). Kliyan yo ta dwe bay konsepsyon apwopriye ak pwoteksyon fonksyone pou minimize risk ki asosye ak aplikasyon yo ak pwodwi yo. NXP Semiconductors pa aksepte okenn responsablite ki gen rapò ak nenpòt defo, domaj, depans oswa pwoblèm ki baze sou nenpòt feblès oswa defo nan aplikasyon oswa pwodwi kliyan an, oswa aplikasyon an oswa itilizasyon pa kliyan twazyèm pati kliyan an (yo). Kliyan responsab pou fè tout tès ki nesesè pou aplikasyon kliyan an ak pwodwi lè l sèvi avèk pwodwi NXP Semiconductors yo nan lòd yo evite yon default nan aplikasyon yo ak pwodwi yo oswa nan aplikasyon an oswa itilizasyon pa kliyan an twazyèm pati (yo). NXP pa aksepte okenn responsablite nan respè sa a.
  • Tèm ak kondisyon pou vann komèsyal yo — Pwodwi NXP Semiconductors yo vann sijè a tèm jeneral ak kondisyon lavant komèsyal yo, jan yo pibliye nan https://www.nxp.com/profile/terms, sòf si yo dakò nan yon akò endividyèl ekri ki valab. Nan ka yon akò endividyèl konkli sèlman tèm ak kondisyon yo nan akò respektif la ap aplike. NXP Semiconductors ekspreseman objè yo aplike tèm jeneral ak kondisyon kliyan an konsènan achte nan pwodwi NXP Semiconductors pa kliyan.
  • Kontwòl ekspòtasyon — Dokiman sa a ansanm ak atik ki dekri la a ka sijè a règleman kontwòl ekspòtasyon. Ekspòtasyon ta ka mande yon otorizasyon davans nan men otorite konpetan.
  • Apwopriye pou itilize nan pwodwi ki pa otomobil ki kalifye — Sòf si dokiman sa a di ekspreseman ke pwodwi espesifik NXP Semiconductors sa a kalifye pou otomobil, pwodwi a pa apwopriye pou itilizasyon otomobil. Li pa ni kalifye ni teste an akò ak tès otomobil oswa kondisyon aplikasyon an. NXP Semiconductors pa aksepte okenn responsablite pou enklizyon ak/oswa itilizasyon pwodwi ki kalifye ki pa otomobil nan ekipman oswa aplikasyon otomobil.
    Nan ka kliyan an sèvi ak pwodwi a pou konsepsyon ak itilize nan aplikasyon otomobil nan espesifikasyon otomobil ak estanda, kliyan (a) dwe itilize pwodwi a san yo pa garanti NXP Semiconductors nan pwodwi a pou aplikasyon otomobil sa yo, itilizasyon ak espesifikasyon, ak ( b) chak fwa kliyan itilize pwodwi a pou aplikasyon pou otomobil ki depase espesifikasyon NXP Semiconductors, itilizasyon sa a dwe sèlman sou pwòp risk kliyan an, epi (c) kliyan an totalman dedomaje NXP Semiconductors pou nenpòt responsablite, domaj oswa reklamasyon pwodwi echwe ki soti nan konsepsyon kliyan ak itilizasyon pwodwi a pou aplikasyon pou otomobil pi lwen pase garanti estanda NXP Semiconductors ak espesifikasyon pwodwi NXP Semiconductors.
  • Tradiksyon — Yon vèsyon ki pa angle (tradwi) nan yon dokiman, ki gen ladan enfòmasyon legal ki nan dokiman sa a, se pou referans sèlman. Vèsyon anglè a va prévaloir si ta gen nenpòt diferans ant vèsyon tradui ak anglè.
  • Sekirite — Kliyan konprann ke tout pwodwi NXP yo ka sijè a frajilite yo pa idantifye oswa yo ka sipòte estanda sekirite etabli oswa espesifikasyon ak limit li te ye. Kliyan responsab pou konsepsyon ak operasyon aplikasyon li yo ak pwodwi pandan tout sik lavi yo pou diminye efè frajilite sa yo sou aplikasyon ak pwodwi kliyan yo. Responsablite Kliyan an pwolonje tou nan lòt teknoloji ouvè ak/oswa propriétaires sipòte pa pwodwi NXP pou itilize nan aplikasyon kliyan yo. NXP pa aksepte okenn responsablite pou nenpòt vilnerabilite. Kliyan ta dwe tcheke mizajou sekirite nan NXP regilyèman epi fè yon swivi apwopriye. Kliyan dwe chwazi pwodwi ki gen karakteristik sekirite ki pi byen satisfè règ, règleman, ak estanda aplikasyon an gen entansyon epi pran desizyon final konsepsyon konsènan pwodwi li yo epi li se sèl responsab pou konfòmite ak tout kondisyon legal, regilasyon, ak sekirite ki gen rapò ak pwodwi li yo, kèlkeswa. nenpòt enfòmasyon oswa sipò ke NXP ka bay.

NXP gen yon Ekip Repons pou Ensidan Sekirite Pwodui (PSIRT) (ki ka jwenn nan PSIRT@nxp.com) ki jere ankèt la, rapò, ak lage solisyon nan vilnerabilite sekirite nan pwodwi NXP.
NXP BV — NXP BV se pa yon konpayi opere epi li pa distribye oswa vann pwodwi yo.

Mak komèsyal yo
Avi: Tout mak referans, non pwodwi, non sèvis, ak mak komèsyal yo se pwopriyete pwopriyetè respektif yo.

NXP — mak ak logo se mak komèsyal 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 — se mak komèsyal ak/oswa mak anrejistre Arm Limited (oswa filiales li yo oswa afilye) nan peyi Etazini ak/oswa yon lòt kote. Teknoloji ki gen rapò a ka pwoteje pa nenpòt oswa tout patant, copyrights, desen ak sekrè komès. Tout dwa rezève.

  • i.MX — se yon mak komèsyal nan NXP BV
  • J-Link — se yon mak komèsyal SEGGER Microcontroller GmbH.

Microsoft, Azure, ak ThreadX - se mak komèsyal gwoup Microsoft konpayi yo.

Tanpri konnen byen ke avi enpòtan konsènan dokiman sa a ak pwodwi (yo) ki dekri la a, yo te enkli nan seksyon 'Enfòmasyon legal'.

© 2024 NXP BV
Pou plis enfòmasyon, tanpri vizite: https://www.nxp.com

  • Dat lage: 19 avril 2024
  • Idantifyan dokiman: AN14263

FAQ

K: Ki objektif prensipal pwodwi sa a?
A: Objektif prensipal la se pèmèt fonksyon rekonesans figi lè l sèvi avèk yon modèl algorithm vizyon AI & ML ak yon senp LVGL GUI ansyenample sou tablo SLN-TLHMI-IOT la.

K: Ki jan devlopè yo ka benefisye de nòt aplikasyon sa a?
A: Devlopè yo ka aprann kijan pou aplike rekonesans figi sou kad etap pa etap lè l sèvi avèk ansyen yo bay laample epi konprann manadjè aparèy yo, aparèy HAL, ak mekanis evènman ki enplike.

Dokiman / Resous

NXP AN14263 Aplike LVGL GUI Rekonesans figi sou Framewor [pdfGid Itilizatè
AN14263 Aplike LVGL GUI Rekonesans figi sou Framewor, AN14263, Aplike LVGL GUI Rekonesans figi sou Framewor, LVGL GUI Rekonesans figi sou Framewor, Rekonesans figi sou Framewor, Rekonesans sou Framewor, Framewor

Referans

Kite yon kòmantè

Adrès imel ou p ap pibliye. Jaden obligatwa yo make *