NXP AN14263 Ezarri LVGL GUI Aurpegi-ezagutza Framewor-en
Produktuaren informazioa
Zehaztapenak
- Produktuaren izena: LVGL GUI Aurpegi-ezagutza markoan
- Dokumentuen berrikuspena: 1ko apirilaren 19etik 2024ra
- Gako-hitzak: Aurpegi-ezagutza, LVGL GUI, Framework
Produktuak erabiltzeko jarraibideak
- Amaituview
Produktu honek AI&ML ikusmen algoritmoaren eredua ahalbidetzen du aurpegia ezagutzeko marko batean aurpegia ezagutzeko funtzioa ezartzeko LVGL GUI ex soil batekin.ample SLN-TLHMI-IOT plakan. - Markoa amaituview
Irtenbide-softwarea gailuak kudeatzeko ardura duten gailu-kudeatzaileak, azpiko xehetasunak abstraitzeko HAL gailuak eta gailu ezberdinen arteko komunikaziorako gertaerak biltzen dituen esparru-arkitekturaren inguruan diseinatuta dago. - Ezaugarriak
Produktuak aurpegia ezagutzeko funtzioa ezartzeko aukera ematen du kameraren aurretikview GUI pantailan aurpegia erregistratzeko, ezagutzeko eta kentzeko botoiekin. Erregistratutako aurpegien datuak Flash-en gordetzen dira a bidez file sistema. - Aplikazioaren oharren edukia
Aplikazio-oharrak LVGL GUI pantaila bat aurkezten du kameraren aurretikview eta aurpegiarekin lotutako ekintzetarako botoiak. Garatzaileei markoa ulertzen laguntzen die eta aurpegi-ezagutza nola inplementatu emandako adibidea erabilizample.
Amaituview
NXP-k SLN-TLHMI-IOT izeneko soluzioen garapen-kit bat jarri du abian, HMI aplikazio adimendunetan oinarritzen dena. HMI adimenduna ahalbidetzen du NXP i.MX RT117H MCU batean inplementatutako ML ikusmena, ahotsa eta grafikoen UI-rekin. SDK-n oinarrituta, irtenbide-softwarea diseinu malguak eta ikusmen- eta ahots-funtzioen pertsonalizazioa onartzen duen marko izeneko diseinuan eraikita dago. Erabiltzaileek software plataforma hobeto erabiltzen laguntzeko, oinarrizko dokumentu batzuk eskaintzen dira, adibidezample, softwarea garatzeko erabiltzailearen gida. Gidak aplikazioen oinarrizko software diseinua eta arkitektura aurkezten ditu, soluzioaren osagai guztiak barne hartzen dituena, garatzaileei SLN-TLHMI-IOT erabiliz beren aplikazioak errazago eta eraginkorrago inplementatzen laguntzeko.
Irtenbideari eta dokumentu garrantzitsuei buruzko xehetasun gehiago lortzeko, bisitatu web NXP EdgeReady Smart HMI irtenbidearen orrialdea i.MX RT117H-n oinarritutako ML Vision, Voice eta Graphical UI-rekin. Hala ere, oraindik ez da hain erraza garatzaileek beren HMI aplikazio adimendunak ezartzea oinarrizko gida hauei erreferentzia eginez. Aplikazio-ohar batzuk aurreikusten dira markoaren garapena urratsez urrats aztertzen laguntzeko. Aplikazio-ohar hau Implement LVGL GUI Camera Pre-n oinarritzen daview Markoari buruzkoa (AN14147 dokumentua). Aplikazio-ohar honek deskribatzen du nola gaitu AI&ML ikusmen-algoritmoaren eredua markoan aurpegia ezagutzeko funtzioa ezartzeko kameraren bidez.view GUI pantailan LVGL GUI sinple batekin adibidezample SLN-TLHMI-IOT plakan. Eskabide-oharrean, example LVGL GUI pantaila bat aurkezten du kamera batekinview eta aurpegien erregistroa, ezagupena eta kentzea abiarazteko botoi batzuk. Erregistratutako aurpegien datuak apur baten bidez gordetzen dira Flash-en file sistema.
Maila altuan, aplikazio-oharrak beheko edukiak ditu:
- Gaitu aurpegia ezagutzeko funtzioa markoan.
- Gehitu aurpegien datu-basearen euskarria esparruan bidez file Flash sisteman.
- Inplementatu LVGL GUI aplikazioa. Aurreko aurkezpenen bidez, dokumentu honek garatzaileei laguntzen die:
- Ulertu markoa eta HMI irtenbide adimendunaren softwarea sakonago.
- Garatu beren AI&ML aurpegi-ezagutza esparruan LVGL GUI aplikazioarekin.
Markoa amaituview
Irtenbide-softwarea hainbat zatiz osatuta dagoen esparru-arkitekturaren erabileraren inguruan diseinatuta dago batez ere:
- Gailu-kudeatzaileak - oinarrizko zatia
- Hardware Abstrakzio Geruza (HAL) gailuak
- Mezuak/Gertaerak
1. irudian ikusten den bezala, baino gehiagoview markoaren mekanismoa hau da:
Gailu-kudeatzaileak sistemak erabiltzen dituen gailuak kudeatzeaz arduratzen dira. Gailu mota bakoitzak (sarrera, irteera eta abar) bere gailu-kudeatzaile mota du. Gailu-kudeatzaile bat gailuak erregistratu ondoren hasten denean, mezu bat itxaron eta egiaztatzen du gailuetara eta beste kudeatzaileetara datuak transferitzeko, erregistratutako gailuak hasi eta hasi ondoren. HAL gailuak behe-mailako kontrolatzaile-kodearen gainean idazten dira, kodearen ulergarritasuna areagotzen laguntzen baitute azpiko xehetasun asko abstraituz.
Gertaerak gailu ezberdinen artean informazioa haien kudeatzaileen bidez komunikatzeko bitarteko bat dira. Gertaera bat abiarazten denean, lehenengo gertaera jaso zuen gailuak gertaera hori bere kudeatzaileari jakinarazten dio, eta, aldi berean, gertaera jasotzeko izendatutako beste kudeatzaileei jakinarazten die.
Esparruaren diseinu arkitektonikoa hiru helburu nagusitan zentratu zen:
- Erabiltzeko erraztasuna
- Malgutasuna/Eramangarritasuna
- Errendimendua
Esparrua ikusmenaren eta ikaskuntza automatikoko beste aplikazio batzuen merkaturatzeko denbora bizkortzeko helburuarekin diseinatu da. Merkaturatzeko denbora azkarra bermatzeko, funtsezkoa da softwarea bera erraza da ulertzeko eta aldatzeko. Helburu hori kontuan izanda, markoaren arkitektura erraz alda daiteke murriztailea izan gabe, eta errendimenduaren kosturik gabe.
Esparruari buruzko xehetasun gehiago lortzeko, ikusi Smart HMI Software Garapenaren Erabiltzailearen Gida (MCU-SMHMI-SDUG dokumentua).
Liburutegi grafiko arina eta polifazetikoa (LVGL)
LVGL (Light and Versatile Graphics Library) doako eta kode irekiko liburutegi grafiko bat da, kapsulatutako GUI bat sortzeko behar duzun guztia eskaintzen duena, erabiltzeko errazak diren elementu grafikoekin, ikus-efektu ederrekin eta memoria-aztarna txikiarekin.
GUI gidaria
GUI Guider NXP-ren erabiltzailearen interfaze grafikoa garatzeko tresna erabilerraza da, kalitate handiko pantailen garapen azkarra ahalbidetzen duena kode irekiko LVGL liburutegi grafikoarekin. GUI Guider-en arrastatu eta jaregin editoreak LVGLren ezaugarri asko erabiltzea errazten du, hala nola, widget-ak, animazioak eta estiloak GUI bat sortzeko kodetze gutxieneko edo batere gabe.
Botoi baten klik eginez, zure aplikazioa ingurune simulatu batean exekutatu dezakezu edo helburuko proiektu batera esportatu. GUI Guider-etik sortutako kodea erraz gehi dakioke zure proiektuari, garapen-prozesua bizkortuz eta zure aplikazioan kapsulatutako erabiltzaile-interfaze bat gehitzeko aukera emanez. GUI Guider doakoa da NXP-ren helburu orokorreko eta gurutzatutako MCUekin eta proiektuen txantiloiak barne hartzen ditu onartzen diren hainbat plataformetarako. GUI Guider-en LVGL eta GUI garapenari buruz gehiago jakiteko, egiaztatu Light and Versatile Graphics Library eta GUI Guider.
Garapen ingurunea
Lehenik eta behin, prestatu eta konfiguratu hardware eta software ingurunea example markoan.
Hardware ingurunea
Hardware-ingurunea adibidea egiaztatzeko konfiguratuta dagoample:
- NXP i.MX RT117H-n oinarritutako HMI garapen-kit adimenduna (SLN_TLHMI_IOT kit-a)
- SEGGER J-Link 9 pin Cortex-M egokitzaile batekin eta V7.84a edo kontrolatzailearen bertsio berriagoa
Software ingurunea
Software ingurunea example:
- MCUXpresso IDE V11.7.0
- GUI Guider V1.6.1-GA
- lvgl_gui_camera_preview_cm7 - adibampBigarren aplikazioaren kodea, garapenaren oinarrizko software gisa. Xehetasunetarako, ikus https://mcuxpresso.nxp.com/appcodehub.
- RT1170 SDK V2.13.0 - garapenerako kode-baliabide gisa.
- SLN-TLHMI-IOT softwarea V1.1.2 - NXP GitHub biltegian kaleratutako HMI iturburu-kode adimenduna garapenerako kode-baliabide gisa. Xehetasunetarako, ikusi: GitHub - NXP/mcu-smhmi v1.1.2 at
Software-ingurunea eskuratzeari eta konfiguratzeari buruzko xehetasunak lortzeko, ikus: SLN-TLHMI-IOT-rekin lehen urratsak.
Ikuspegiaren arkitektura markoan
2. Irudian ikusmen-arkitektura markoan erakusten da. HAL ikusmen-algoak (OASIS_HAL) ondorengo prozesuak ditu:
- Egin aurpegien erregistroa eta antzematea AI&ML ikusmen algoritmoaren ereduaren bidez, irteerako UI HALetik erlazionatutako gertaerak jaso ondoren. Jakinarazi algoritmo-ereduaren ondorioak irteerako UI HAL-era.
- Txikian oinarritutako aurpegien ezaugarrien datu-basera sartzen (gehitu, ezabatu...). file sistema FaceDB HAL-eko APIei deituz irteerako UI HALetik erlazionatutako gertaerak jaso ondoren.
- Eskatu kameraren bideo-markoa kamera HALri aurpegien erregistroa eta ezagupena egitean.
Aurpegi-aitorpena esparruan ezartzea
LVGL GUI aurpegiaren aitorpena adibidezample (adibample geroago ematen da) markoan inplementatzen da adibampImplement LVGL GUI Camera Pre-ren kodeakview Markoari buruzkoa (AN14147 dokumentua).
Adib. aurpegi-ezagutza erakusteagatikample, GUI aplikazioaren oinarrizko funtzioa (ikus 3. irudiko pantaila nagusia) behean deskribatzen den moduan diseinatuta dago:
- GUI aplikazioak aurpegia erregistratzeko edo aitortzeko gertaera abiarazten du irteerako UI HALera, Erregistroa edo Aitorpena botoian sakatzean. Eta irteerako UI HAL-ek aurpegiaren erregistroa arrakastatsua izan ondoren erabiltzaile bat ikusmen algo HALra gehitzearen gertaeraren berri ematen du.
- GUI aplikazioak erabiltzaile bat ezabatzeko gertaera abiarazten du irteerako UI HALera erabiltzailearen aurpegia ezagutu ondoren Ezabatu erabiltzailea botoia sakatzean.
- GUI aplikazioak irteerako UI HALera exekutatzen den oasis algoa geldiarazteko gertaera abiarazten du botoi eta irudien kanpoko pantailan klik egitean.
Prestatu software paketea example.
- Klonatu oinarrizko softwarea lvgl_gui_camera_preview_cm7. Aldatu proiektuaren izena eta nagusia fileizena lvgl_gui_face_rec_cm7-ri.
- Esparrua softwarean eguneratu behar da, esparruaren nukleoaren iturburu-kodeak GitHub-en publikoak izaten hasi baitira 1.1.2 bertsiotik.
- Ordeztu esparruko karpeta GitHub-eko V1.1.2 kopiarekin izan ezik files fwk_log.h eta fwk_common.h inc\ azpian, aplikazio-ohar serierako aldatu baitira. Eragiketak 4. irudian erakusten dira:
- Ezabatu framework_cm7 karpeta libs taldean eta kendu framework_cm7 liburutegia eta bere bilaketa-bidea Proiektua > Propietateak > C/C++ Eraikitzea > ezarpenak > Tresnaren ezarpenak > MCU C++ Lokatzailea > Liburutegiak, nukleoaren iturburu-kodea ematen baita.
Gaitu aurpegia ezagutzeko eginbidea markoan
Aurpegiak ezagutzeko funtzioa liburutegi estatiko gisa eskaintzen den ML ikusmen algoritmoaren ereduan eraikita dago - NXP-ek oasis lite exekuzio-denboreko liburutegia. Liburutegia AI liburutegi txikia, oso eraginkorra, pertsonalizatua eta optimizatua da. Ereduak aurpegien detekzioa, aurpegien antzematea, beira detekzioa eta bizitasuna hautematea barne hartzen ditu. Batez ere, OASISLT_run_extended() APIa eskaintzen du aurpegiak ezagutzeko kanalizazioa exekutatzeko, gertaeren deien bidez emaitzak eguneratzen dituen bitartean, eta datu-basean aurpegiak gehitzeko/eguneratu/ezabatzeko aurpegien datu-baseko deien bidez iturburu-markoaren informazioa, deiak eta memoria zehaztu ondoren. Liburutegiak erabiltzen duen multzoa hasierako OASISLT_init() beste API bati deituta. APIen deiak eta dei-atzerako funtzioak esparruko HAL ikuspegi algoan inplementatzen dira.
Gehitu vision algo ereduen liburutegia
- Kopiatu liburutegia eta erlazionatutako goiburua dituen karpeta oasis file smart HMI\coffee_machine\cm7\libs\ adib-eko karpeta-libretaraample SW.
- Gehitu goiburuko bilaketa-bidea file Proiektua > Propietateak > C/C++ Eraikitzea > ezarpenak > Tresnaren ezarpenak > MCU C konpilatzailea > barne hartzen ditu eta MCU C++ konpilatzailea > barne hartzen ditu: "${workspace_loc:/${ProjName}/libs/oasis/include}"
- Gehitu lib eta bere bilaketa-bidea Proiektua > Propietateak > C/C++ Eraikia > ezarpenak > MCU C+ + Lokatzailea > Liburutegiak: liboasis_lite2D_DEFAULT_117f_ae.a "${workspace_loc:/${ProjName}/libs/oasis}" eta makro definizioa. gaitu eginbidea Proiektua > Propietateak > C/C++ Eraikia > Ezarpenak > Tresnaren ezarpenak > MCU C konpilatzailea > Aurreprozesadorea eta MCU C++ konpilatzailea > Aurreprozesadorea: SMART_TLHMI_2D
Gaitu ikusmen algoritmoa HAL
Ikusmen-algo-HAL-ek ikusmen-algo-eredua funtzionatzera bultzatzen du eta emaitzak UI irteerako HAL-ari erantzuten dio bertatik gertaerak jaso ondoren.
Gaitzeko, klonatu existitzen zen antzeko HAL kontrolatzailea file non beheko funtzioak ezartzen diren:
- Aurpegi datu-baseen eragiketen eta gertaeren kudeaketaren deiak inplementatu.
- Gidatu ikusmen algoritmoa funtzionatzera, oasis liburutegiko APIetara deituz.
- Atzitu erabiltzailearen aurpegien datu-basean eta aplikazioen datu-basean (ez da beharrezkoa adibidezample).
- Jaso gertaerak eta bidali emaitzak irteerako UI HALra.
HAL ezartzeko obra nagusiak adibidezamphauek dira:
- Klonatu existitzen zen antzeko HAL kontrolatzailea file eta erlazionatutako izenak aldatu.
- Kendu aplikazioaren datuen eragiketekin lotutako kodeak.
- Eguneratu irteerako UI HAL gertaerak kudeatzeko definizioak eta funtzioak, adibidezampdiseinua.
- Gehitu oasis hasieratzeko beharrezkoak diren konfigurazioak.
Urrats zehatzak honako hauek dira:
- Klonatu hal_vision_algo_oasis_coffeemachine.c. Aldatu fileizena hal_vision_algo_oasis_guifacerec.c. Eta ordezkatu CoffeeMachine kate guztiak GUIFaceRec-ekin file.
- Kendu coffeedb katea duten kodeak (ez bereizten dira maiuskulak eta minuskulak) aplikazioaren datu-basearekin erlazionatutakoak, adibidezample, #include hal_sln_coffeedb.h.
- Aldatu HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify() funtzioa irteerako UI HALetik gertaerak kudeatzeko.
- Aldatu gertaeren definizioa kEventFaceRecId_RegisterCoffeeSelection kEventFaceRecId_RegisterUserFace-ra eta regCoffeeSelection-en egitura-katea regGUIFaceRec-era gertaerak kudeatzeko aurpegien ezaugarrien datu berriak datu-basean gehitzeko.
- Adib. aurpegiak ezagutzeko ekintzen prozesu estandarra erakusteaample, aldatu kudeaketa kEventFaceRecID_OasisSetState-ren kasuan, egoeren definizioekin:
- koASISLiteState
- Erregistroa koASISLiteState
- Aitortza kOASISLiteState
- Gelditu
- Gehitu eta aldatu goiko urratsean aipatutako gertaeren definizioak.
- Kopiatu goiburua file smart_tlhmi_event_descriptor.h smart HMI\coffee_machine \cm7\source\event_handlers\ ex-en karpeta-iturbururaample SW. Eguneratu file behean bezala:
- Aldatu gertaeren definizioa kEventFaceRecId_RegisterCoffeeSelection kEventFaceRecId_RegisterUserFace-ra _event_smart_tlhmi_id enum motan eta regCoffeeSelection egitura-katea regGUIFaceRec _event_smart_tlhmi egituran. Beraz, aldatu regCoffeeSelection-ren egitura register_coffee_selection_event_t-rako register_gui_facerec_event_t.
- Ezabatu kafe-makina aplikaziorako erabilitako gainerako edukiak, adibidezample, ahotsari buruzko kode-lerroa: #include “hal_event_descriptor_voice.h”.
- Gehitu kOASISLiteState_Stopped eta kOASISLiteState_Running motak oasis_lite_state_t enum motako hal_vision_algo.h-n framework>hal>vision proiektuan behean bezala:
typedef enum _oasis_lite_state {- koASISLiteState
- Korrika, koASISLiteState
- Gelditu, koASISLiteState
- Aitortza,
- koASISLiteState
- Erregistratzea, koASISLiteState
- Izen-ematea, koASISLiteState
- Urruneko erregistroa, kOASISLiteState
- zenbaketa
- Erabili goiko egitura eguneratua oasis_lite_state_t egitura hal_event_descriptor_face_rec.h-n framework>hal>vision proiektuaren azpian finkatzeko oasis_lite_state_t behean bezala: typedef struct _oasis_state_event_t { oasis_lite_state_t state; } oasis_state_event_t;
- Aldatu kEventInfo_Remote guztiak kEventInfo_Local-era, ikusmen algoritmotik gertaerak bidaltzeko.ample.
- Gehitu eta aldatu beheko konfigurazioak OASISLT_init(en) hasieratzeko oasis:
- Gehitu bideo-markoaren makro-definizioak eta memoria-atalak board_define.h-n: #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__((atala(“.bss.$fb_sh_mem,\”aw\”,%nobits @”))) var
- __atributua__((lerrokatua (lerrokatu byte)))
- Konfiguratu memoria-esleipena goiko memoria-atalean fb_sh_mem Proiektua > Propietateak > C/C++ Eraikitzea > MCU ezarpenak 5. Irudian agertzen den:
- Adierazi g_DTCOPBuf aldagai globala lvgl_gui_face_rec_cm7.cpp-n: AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf[DTC_OPTIMIZE_BUFFER_SIZE], 4);
- Jarraitu goiko aldagaian erabilitako definizioak gehitzen:
- Definitu goiko atala board_define.h-n:
- #defini AT_NONCACHEABLE_SECTION_ALIGN_DTC(var, alignbytes) \
- attribute__((atala(“.bss.$SRAM_DTC_cm7,\”aw\”,%nobits @”))) var
- atributua__((lerrokatuta(lerrokatu byte)))
- Sartu goiburua file hal_vision_algo.h lvgl_gui_face_rec_cm7.cpp-n sartuta dagoen DTC_OPTIMIZE_BUFFER_SIZE makro-definizioa duen app_config.h.
- Gehitu bideo-markoaren makro-definizioak eta memoria-atalak board_define.h-n: #define OASIS_RGB_FRAME_WIDTH 800
- Ezarri s_debugOption aldagaia true gisa, aurpegi-ezagutzaren aurrerapen-egoera erakusteko.
- Gehitu goiburuko bilaketa-bidea fileIkuspegiaren HALren s Proiektua > Propietateak > C/C++ Eraikitzea > Ezarpenak > Tresnaren ezarpenak > MCU C konpilatzailea > Dakar eta MCU C++ konpilatzailea > Dakar: "${workspace_loc:/${ProjName}/framework/hal/vision}"
- Gehitu beheko definizioa board_define.h-n ikusmen algo HAL gaitzeko: #define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec
Gaitu irteerako UI HAL
Irteerako UI HAL-ek gertaeren berri ematen dio HAL ikusmen algoritmoari eta HAL ikusmen algoritmoaren ondorioei erantzuten die. GUI aplikazioarekin, gertaerak orokorrean aplikazioak abiarazten ditu eta emaitzak aplikazioan erakusten dira.
Gaitzeko, klonatu existitzen zen antzeko HAL kontrolatzailea file non, oro har, beheko funtzioak inplementatzen diren:
- Aurpegiak ezagutzeko eta datu-baserako sarbidea izateko gertaeren berri.
- Ezarri deiak GUI aplikaziorako gertaerak abiarazteko.
- Kudeatu ikuspegi algo moduluaren ondorioak.
- Erakutsi UI-ko gertaeren kudeaketaren prozesua eta emaitzak tenporizadoreekin eta aurpegien gida laukizuzenarekin kontrolatutako aurrerapen-barraren bidez.
HAL ezartzeko obra nagusiak adibidezampDokumentu honetan erabiltzen diren fitxategiak hauek dira:
- Klonatu existitzen zen antzeko HAL kontrolatzailea file eta erlazionatutako izenak aldatu.
- Kendu aplikazioari lotutako kodeak.
- Eguneratu gertaeren jakinarazpenerako eta emaitzen erantzunerako funtzioak, adibidezampdiseinua.
- Gehitu GUI aplikaziorako deiak gertaerak abiarazteko.
Urrats zehatzak honako hauek dira:
- Klonatu hal_output_ui_coffee_machine.c. Aldatu fileizena hal_ output_ui_guifacerec.c.
- Ordeztu kate guztiak CoffeeMachine GUIFaceRec-ekin file.
- Kendu aplikazioari lotutako kodeak - kafe-makina.
- Kendu WakeUp() eta _StandBy() funtzioak eta erlazionatutako kodeak (wake_up eta standby katea bilatu dezakete).
- Kendu aurreview HAL_OutputDev_UiGUIFaceRec_Input Notify()n erlazionatutako kodeak maneiatzen dituzten gertaerak.
- Kendu UI_xxx_Callback() funtzioak eta gui_ katea eta pantaila kafe-makinaren GUIarekin erlazionatutako kodeak dituzten kodeak, aurrerako gui_set_virtual_face() izan ezik.view moduaren funtzioa.
- Kendu kafe-makina aplikazioarekin erlazionatutako s_IsWaitingAnotherSelection eta s_IsWaitingRegisterSelection aldagaiekin zerikusia duten kode guztiak.
- Kendu ahotsarekin, audioarekin eta hizkuntzarekin lotutako kodeak. Adibidezample:
- #include "hal_voice_algo_asr_local.h",
- #include "hal_event_descriptor_voice.h"
- Gertaera ezberdinen jakinarazpenetarako, inplementatu _OutputManagerNotify(), _SetFaceRec(), _RegisterGUIFaceRec() eta DeregisterGUIFaceRec() _StopFaceRec(), _RegisterCoffeeSelection() eta DeregisterCoffeeSelection() funtzioei erreferentzia egiten dietenak.
- _OutputManagerNotify()-ek oinarrizko gertaeren irteera funtzioa inplementatzen du, gertaera bat bidaltzeko HAL algora vision. Beheko funtzioek beren gertaerak bidaltzeko deitzen diote.
- _SetFaceRec() kEventFaceRecID_OasisSetState gertaera bidaltzen du aurpegiak erregistratzeko, ezagutzeko eta algoritmoa geldiarazteko ikusmen-algoia abiarazteko.
- _RegisterGUIFaceRec() smart_tlhmi_event_descriptor.h-n definituta dagoen kEventFaceRecId_RegisterGUIFaceRec gertaera bidaltzen du datu-basean aurpegi-ezaugarrien datuak gehitzeko erregistroa ondo dagoenean.
- DeregisterGUIFaceRec() kEventFaceRecID_DelUser gertaera bidaltzen du datu-basetik aurpegi-ezaugarrien datuak ezabatzeko aurpegi-ezagutza pasatzean.
- Eguneratu kodeak dagozkion ekintzak egiteko, besteak beste, GUI freskatzea, LVGL GUI aplikazioko APIei deituz aurpegien erregistroaren eta aitorpenaren ondorioetarako _InferComplete_Vision() funtzioaren arabera.ampleren diseinua. Adibidezample, aurpegia erregistratzea arrakastatsua denean,
- Utzi aurrerapena erakusteari _FaceRecProcess_Stop();
- Gelditu aurpegiaren erregistroa _SetFaceRec(kOASISLiteState_Stopped) deituz;
- Erakutsi emaitza arrakastatsua GUI-n: gui_show_face_rec_result(kFaceRecResult_OK, s_UserId);
- Erregistratu aurpegiko datuak datu-basean: _RegisterUserFace(s_UserId);
- Gehitu UI itzulera-funtzioak gertaerak kudeatzeko: preview, aurpegien erregistroa, aitorpena eta erabiltzailea ezabatzea GUItik abiarazitakoa. Adibidezample, aurpegia erregistratzeko deia: void UI_Registration_Callback(){ _SetFaceRec(kOASISLiteState_Registration); _FaceRecProcess_Start(); }
- Eta gehitu _FaceRecProcess_Start() eta _FaceRecProcess_Stop() funtzioak gertaera eta emaitza ezberdinetan aurrerapena eta egoera erakusteko.
- Eguneratu tenporizadorearen ISR callback funtzioa _SessionTimer_Callback() denbora-muga kasua kudeatzeko: gui_show_face_rec_result(kFaceRecResult_TimeOut, s_UserId);
- Gehitu beheko definizioak board_define.h-n UI irteerako HAL gaitzeko: #define ENABLE_OUTPUT_DEV_UiGUIFaceRec
Oharra:
Aurpegiak ezagutzeko funtzioa hobeto aurkezteko, mantendu funtzioa aurpegiak ezagutzeko prozesua eta emaitzak irteerako UI HALean erakusteko. Funtzioa behean deskribatzen da
- Aurpegien gidaren laukizuzenak urdina erakusten du, eta aurrerapen-barrak aurrerapena erakusten du aurpegien erregistroa edo ezagupena hasten denean.
- Aurpegiaren gida laukizuzenak gorria erakusten du aurpegia erregistratzen denean.
- Aurpegien gida-laukizuzena berdea agertzen da aurpegia ongi ezagutzen denean.
- Aurpegiaren gidaren laukizuzenak urdina mantentzen du, eta aurrerapen-barrak aurrerapen osoa erakusten du tenporizadorea iraungi ondoren ekintzak arrakastarik ez duenean. Une horretan, gelditu aurpegiaren erregistroa edo aitorpena.
Aurrerapen-barra eta aurpegien gida laukizuzena baliabide bitarren barnean dauden ikono gisa aurkezten dira file Flashean programatzeko. SDRAM-eko ikonoen datuen erakusleak LoadIcons(APP_ICONS_BASE) irteerako UI HAL gailuaren hasierako irteerako UI HAL-eko funtzioan ezartzen dira. Funtziorako ikonoen euskarria ezarri behar du.
Ezarri ikonoen euskarria
- Eraiki baliabidea LVGL GUI aplikazioan erabilitako irudiekin ikonoak konbinatuz:
- Klonatu lau ikonoen goiburua files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h eta virtual_face_red_420x426.h smart HMI-tik
\kafe-makina\baliabide\ikonoak\ adibideko baliabideen karpetaren azpiko karpeta berriko ikonoetaraample SW. - Gehitu lau ikonoaren bilaketa-bidea files kamera_preview_baliabidea.txt file baliabideen karpetan, adibidezample: ikonoa ../resource/icons/process_bar_240x14.h
- Exekutatu kamera_preview_resource_build.bat edukiontzia sortzeko irudiak eta ikonoak baliabideak eraikitzeko file kamera_preview_resource.bin eta informazioa file resource_information_table.txt (Ikus 6. irudia).
- Klonatu lau ikonoen goiburua files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h eta virtual_face_red_420x426.h smart HMI-tik
- Definitu hasierako helbidea SDRAM-en eta ikonoen tamaina app_config.h-n. Helbidea GUI aplikazioaren irudien ondoan hasten da. Tamaina informazioan sortzen da file. #defini APP_ICONS_BASE (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) #defini APP_ICONS_SIZE 0x107c40
- Eguneratu res_sh_mem izeneko memoria atalaren esleitutako tamaina 0x200000-ra app_config.h-n birdefinituz: #define RES_SHMEM_TOTAL_SIZE 0x200000 eta dagokion ezarpena Proiektua > Propietateak > C/C++ Eraikitzea > MCU ezarpenak.
- Gehitu ikonoaren tamaina Flashetik SDRAMera kargatutako baliabidearen tamaina guztirako APP_LoadResource() funtzioan. file lvgl_gui_face_rec_cm7.cpp: memcpy((void *)APP_LVGL_IMGS_BASE, pLvglImages, APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE);
Oharra: Aurpegia ezagutzeko funtzioa osatzeko, LVGL GUI aplikazioaren laguntza behar da. Irteerako UI HAL-eko UI-ren dei-atzera funtzioak LVGL GUI aplikazioak deitzen ditu UI pantailako gertaerak kudeatzeko. Bestalde, irteerako UI HALak LVGL GUI aplikazioko APIei deitzen die UI eguneratzeko, emaitza eta egoera erakusteko. LVGL GUI aplikazioaren garapena nahiko independentea da eta 4.3 atalean sartu da.
4.1.5 Hasi aurpegia ezagutzeko HAL gailuak eta kudeatzaileak
Gaitutako ikusmen algoritmoa HAL eta UI irteerako HAL eta haien kudeatzaileak abiarazten dira nagusiki file
lvgl_gui_face_rec_cm7.cpp esparruko garapenaren bihurketak jarraituz behean:
- Sartu goiburua file bi HAL kudeatzaileei lotutako kode-lerroa gehituz:
- #include ” fwk_output_manager.h “
- #include "fwk_vision_algo_manager.h"
- Adierazi HAL gailuak:
- HAL_VALGO_DEV_DECLARE(OasisGUIFaceRec);
- HAL_OUTPUT_DEV_DECLARE(UiGUIFaceRec);
- Erregistratu HAL gailuak:
- HAL_VALGO_DEV_REGISTER(OasisGUIFaceRec, ret);
- HAL_OUTPUT_DEV_REGISTER (UiGUIFaceRec, ret);
- Kudeatzaileak hasieratu:
- FWK_MANAGER_INIT(VisionAlgoManager, ret);
- FWK_MANAGER_INIT(Irteera-kudeatzailea, ret);
- Hasi kudeatzaileak:
- FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, ret);
- FWK_MANAGER_START(Output Manager, OUTPUT_MANAGER_TASK_PRIORITY, ret);
- Definitu kudeatzailearen zereginen lehentasuna:
- #defini VISION_ALGO_MANAGER_TASK_PRIORITY 3
- #defini OUTPUT_MANAGER_TASK_PRIORITY 1
Gehitu aurpegien datu-basearen euskarria markoan
Erregistratutako aurpegien ezaugarrien datuak Flash-en gordetako aurpegien datu-basean sartzen dira apur baten bidez file sistema. Aurpegi datu-basearen euskarria gehitzeko urratsak behean deskribatzen dira.
Gehitu Flash biltegiratzeko kontrolatzaileak
Kopiatu Flash interfazearen FlexSPI kontrolatzailea files fsl_flexspi.c eta fsl_flexspi.h, eta datuak enkriptatzeko kontrolatzailea files fsl_caam.c eta fsl_caam.h SDK_2_13_0_MIMXRT1170-EVK\devices \MIMRX1176\drivers\ bidetik ex-eko kontrolatzaileen karpetara.ample SW.
Gehitu taula-mailako laguntza
- Gehitu board.h-n Flash gailurako erabilitako FlexSPI-ren definizioak:
- #define BOARD_FLEXSPI FLEXSPI1
- #define BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1
- #define BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE
- Kopiatu operadoreak eta konfigurazioak fileFlash gailuko flexspi_nor_flash_ops.c, flexspi_nor_flash_ops.h, sln_flash_config.c, sln_flash_config_w25q256jvs.h, eta sln_flash_ops.h smart HMI\coffee_ex_carpeta thesource\cm7 thesource\coffee\ex_board thesource\coffee_carpeta\thesource\cmXNUMX\carpeta smart bidearen azpianample SW.
- Desmarkatu "Kendu baliabidea eraikuntzatik" C/C++ Eraikuntza > Ezarpenak atalean eskuineko botoiarekin klik egin ondoren. files-en izena eta Propietateak irekitzea proiektuan eraiki ahal izateko.
- Aldatu sartutako goiburua fileizena sln_flash_config.h sln_flash_config_w25q256jvs.h-ra sln_flash_config.c eta flexspi_nor_flash_ops.h-en.
- Ezarri FlexSPI1 erloju-iturria file clock_config.c kafe-makina aplikazioari erreferentzia egiten dio.
Gehitu egokitzailea eta erdi mailako laguntza
- Kopiatu filesln_flash.c, sln_flash.h, sln_encrypt.c eta sln_encrypt.h egokitzaile-kontrolatzaile gisa file sistema eta aplikazioa smart HMI\kafe_makina\cm7\source\ bidetik ex-aren karpeta-iturbururaample. Eguneratu berria files:
- Desmarkatu "Kendu baliabidea eraikuntzatik" eraikitzeko.
- Aldatu sartutako goiburu guztia file izena sln_flash_config.h sln_flash_config_w25q256jvs.h-ra.
- Kopiatu karpeta filetxikientzako APIak dituen sistema filesistema eta HAL kontrolatzailea HMI adimendunetik \kafe_makina\cm7\source\ adibidezample SW. Eta eguneratu karpeta berrirako:
- Desmarkatu "Kendu baliabidea eraikuntzatik" eraikitzeko.
- Gehitu haren sartzeko bidea proiektuaren ezarpenetan: "${workspace_loc:/${ProjName}/filesistema}”
- Aldatu sartutako goiburua file izena sln_flash_config.h-ra sln_flash_config_w25q256jvs.h-ra eta fica_definition.h-ra app_config.h-ra file sln_flash_littlefs.h.
- Kopiatu erdiko produktua duen littlefs karpeta – little filesistema SDK_2_13_0_ MIMXRT1170-EVK\middleware\ bidetik exeraample SW. Eta eguneratu karpeta berria:
- Desmarkatu "Kendu baliabidea eraikuntzatik" eraikitzeko.
- Gehitu haren barne-bidea proiektuaren ezarpenetan: "${workspace_loc:/${ProjName}/littlefs}"
Gehitu HAL kontrolatzaileak
- Bi HAL gailu daude - file sistemaren eta aurpegien datu-basea HAL onartzen da datu-baserako sarbidearen funtziorako eta dagoeneko esparruan inplementatuta daude inolako aldaketarik gabe. Gaitu board_define.h-n beheko definizioak gehituz:
- #defini ENABLE_FLASH_DEV_Littlefs
- #defini ENABLE_FACEDB
Eta aldatu aurpegien datu-basearen izena adibidezample: #defini OASIS_FACE_DB_DIR "oasis_gui_face_rec"
Gehitu aplikazio-mailako laguntza
- Eguneratu nagusia file lvgl_gui_face_rec_cm7.cpp:
- Sartu goiburua file Flasharekin erlazionatuta file sistema HAL kudeatzailea kodea-lerroa gehituz: #include "fwk_flash.h"
- Adierazi eta erregistratu file sistema HAL gailua:
- HAL_FLASH_DEV_DECLARE (Littlefs);
- HAL_FLASH_DEV_REGISTER (Littlefs, ret);
Oharra: The file sistema HAL gailua erregistratu behar da gailu-kudeatzaile guztiak APP_InitFramework() funtzioan hasieratu aurretik.
- Deitu BOARD_ConfigMPU() funtzioari APP_BoardInit() MPU konfiguratzeko.
- Ezarri file sistemaren esleipena Flash-en file app_config.h atalean erabilitako makro definizioak definitu file sln_flash_littlefs.h:
- #defini FICA_IMG_FILE_SYS_ADDR (FLASH_IMG_SIZE + RES_SHMEM_TOTAL_SIZE)
- #defini FICA_FILE_SYS_SIZE (0x280000)
Konfigurazioak
Flash-ekin erlazionatutako kode batzuk SRAM ITC eremuan exekutatzen dira nahikoa errendimendu lortzeko. Kopiatu estekatzailearen konfigurazioak dituzten karpeta esteka-scriptak smart HMI\coffee_machine\cm7\ bidetik ex-era.ample SW.
Inplementatu LVGL GUI aplikazioa
Esparruan oinarritutako LVGL GUI aplikazio baten garapenak irteerako UI HALetik APIak deitzen ditu eta UI HAL irteerarako APIak eskaintzen ditu (Ikus 4.1.3 atala irteerako UI HAL ezartzeko).
Hala ere, LVGL GUI aplikazioaren ezarpen zehatza aplikazioaren eskakizunen eta diseinuaren araberakoa da. GUI aplikazioa adibide honetanample 4. atalaren hasieran azaltzen den moduan diseinatuta dago.
Jarraian ezarpenaren aurkezpenak daude:
- Kode pertsonalizatuak GUI Guider-ek GUI Guider proiektuaren eta sistema txertatuaren proiektuaren arteko interfaze gisa emandako custom.c eta custom.h-n ezartzen dira.
- Gehitu gui_xxx() izeneko funtzio berriak custom.c-en beheko funtzioak lortzeko:
- Irteerako UI HAL eta GUI aplikazioa UI eguneratzeko.
- GUI aplikazioak gertaerak abiarazteko UI-ren dei-itzulera funtzioak deituz irteerako UI HAL-etik.
Adibidezample, gui_event_face_rec_action() funtzio berriak UI-ren itzulera-funtzioak deitzen ditu erlazionatutako botoia sakatzean GUI aplikaziotik abiarazitako aurpegien erregistroa, aurpegia ezagutzeko eta erabiltzailea ezabatzeko gertaera bat kudeatzeko.
Oharra: gui_set_virtual_face() funtzioak irteerako UI HAL-en deitzen du aurrerakoview modua custom.c-en inplementatu behar da:
- Klonatu funtzioa gui_set_virtual_face() smart HMI\coffee_machine\cm4\custom \custom.c.
- Aldatu widget-aren izena home_img_cameraPreview to screen_img_camera_preview funtzioan.
- Inplementatu UI dei-itzulerako funtzioak prototipo berarekin irteerako UI HAL-eko makro-definizioaren kontrolpean #ifndef RT_PLATFORM custom.c-en GUI Guider proiektuarekin bateragarria izateko, irteerako UI HAL-eko funtzio hauek menpe daudelako. plataforma txertatua. Custom.c-en, GUI gidaren simulagailuaren araberakoak dira eta txertatutako plataformarekiko independenteak dira. Adibidezample, aurpegia erregistratzeko deia behean inplementatzen da GUI Guider simulagailuan exekutatzen ari den: #ifndef RT_PLATFORM void UI_Registration_Callback() { gui_hide_del_user_btn(true); s_InAction = false; itzuli; }
Oharra: Jo ezazu 6 ataleko 4.1.3. urratsean sartutako funtzioaren prototipo bera
RT_PLATFORM makro definizioa MCUXpresso-ren proiektuaren ezarpenetan ezartzen da 7. Irudian erakusten den moduan: - Adierazi UI_xxx_Callback() eta gui_xxx() izeneko funtzio guztiak custom.h-n eta gehitu smart_tlhmi_event_descriptor.h-n sartutako custom.h GUI APIak UI irteerako HAL-en partekatzeko.
- Gehitu gui_xxx() izeneko funtzio berriak custom.c-en beheko funtzioak lortzeko:
- Garatu GUI GUI Guider-en:
- Klonatu karpeta kamera aurrezview GUI Guider proiektuko softwarea duen karpetan gui_guider oinarrizko software paketean lvgl_gui_camera_preview_cm7. Aldatu erlazionatutako izena kamera_preview to face_rec berrirako example.
- Kopiatu goiko eguneratutako custom.c eta custom. h GUI Guider proiektuaren software berrira.
- Ireki face_rec proiektu berria GUI Guider-en. Eguneratu behean:
- Gehitu Ezabatu erabiltzailea izeneko botoi berria. Gehitu Ezkutatuta bandera, GUI aplikazioa abiarazten denean botoia ezkutatuta egon dadin.
- Gehitu APIa gui_event_face_rec_action() deitzeko kode-lerroa gertaera-ID parametro desberdinarekin "Askatutako" abiarazlean Erregistroa, Ezabatu eta Ezabatu Erabiltzailea botoi guztien Gertaera Ezarpenean, aurpegien erregistroa, aurpegia ezagutzeko eta erabiltzailea ezabatzeko gertaerak abiarazteko. 8. Irudiak botoiaren Erregistroaren gertaeraren kodea erakusten du:
- Eguneratu GUI Guider-etik sortutako kodea MCUXpresso proiektura.
- Ordeztu edukiak MCUXpresso proiektuaren SW-aren sortutako karpetako karpetako irudiak izan ezik, GUI Guider proiektuaren SW-aren sortutako karpetan dagozkionekin.
Oharra: Goian sartutako aldaketei buruzko xehetasun gehiago lortzeko, begiratu adibidezample software at https://mcuxpresso.nxp.com/appcodehub.
Egiaztapenak example proiektua
ExampAplikazio-ohar honetarako baliabideak eta tresnak dituen software paketea, bisitatu: https://mcuxpresso.nxp.com/appcodehub. Ireki example proiektua MCUXpresso IDE-n. Eraiki eta programatu .axf file 0x30000000 helbidera eta programatu baliabide-ontzia file kamera_preview_resource.bin 0x30800000 helbidera.
LVGL GUI aurpegiaren aitorpena adibidezampnormalean ondo funtzionatzen du:
- Aurreview: Pizten denean, kamerak atzemandako bideo-korronteak kameraren eremu zehatz batean agertzen diraview GUI pantailan. Egoera-etiketak "Preview…”. Xehetasunetarako, ikus 3. irudia. Ezabatu erabiltzailea botoia ezkutatuta dago. Botoien eta irudien kanpoaldeko eremuan klik egitean, pre-a erakusten duview adierazi aurrekoa aurpegia erregistratzeko edo aitortzeko ekintza amaitu ondoren.
- Izen ematea:
- tartupa: Erregistro botoia sakatzen denean, aurpegiaren erregistroa hasten da. Egoera-etiketa aldatzen da "Erregistroa...", aurpegien gidaren laukizuzenak urdina erakusten du eta aurrerapen-barra aurrerapena erakusten hasten da. Ziurtatu erabiltzailearen aurpegia aurpegi urdinaren gida laukizuzenean agertzen dela erregistratzeko.
- arrakasta: Egoera-etiketak "Erregistroa... Ados" erakusten du eta erregistratutako erabiltzailearen ID zenbakia, aurpegien gidaren laukizuzena gorri bihurtzen da aurpegiaren erregistroa arrakastatsua bada, aurrerapena barran osorik agertu baino lehen.
- Hutsegitea -> Denbora-muga: egoera-etiketak "Erregistroa... Denbora-muga" erakusten du aurpegiaren erregistroak oraindik huts egiten badu aurrerapena barran beteta agertzen denean.
- Hutsegitea -> Bikoizketa: egoera-etiketak "Erregistroa... Huts egin du" erakusten du, aurpegien gidaren laukizuzena berde bihurtzen da erregistratutako aurpegia ezagutzen bada aurrerapena barran osorik agertu baino lehen.
- eCognition:
- Abiaraztea: Ezagutza botoia sakatzen denean, aurpegiaren ezagutza hasten da. Egoera-etiketa aldatzen da "Aitorpena...", aurpegien gidaren laukizuzenak urdina erakusten du eta aurrerapen-barra aurrerapena erakusten hasten da. Ziurtatu erabiltzailearen aurpegia aurpegi urdinaren gida laukizuzenean agertzen dela erregistratzeko.
- arrakasta: Egoera-etiketak "Aitorpena... Ados" eta aitortutako erabiltzailearen ID zenbakia erakusten ditu, aurpegien gidaren laukizuzena berde bihurtzen da aurpegiaren ezagutza arrakastatsua bada, aurrerapena barran osorik agertu baino lehen. Puntu honetan, Ezabatu erabiltzailea botoia agertzen da. Horrek esan nahi du erabiltzailea aitortzen denean soilik ezabatzeko baimena duela.
- ailure: Egoera-etiketak "Aitorpena... Denbora-muga" erakusten du, aurpegiaren ezagutzak huts egiten badu oraindik barran aurrerapena osorik agertzen denean.
- Ezabatu erabiltzailea: "Ezabatu erabiltzailea" botoia sakatzen denean, aurpegia ongi ezagutu ondoren, egoera-etiketa aldatzen da "Ezabatu erabiltzailea... Ados" bistaratuko du aurpegien gidaren laukizuzena urdin bihurtuz eta barran aurrerapena osorik agertuz. Ezabatu erabiltzailea botoia ezkutatuta dago berriro. Aitortutako aurpegia/erabiltzailea datu-basetik ezabatzen da. Esan nahi du aurpegi/erabiltzaile hau ezin dela ezagutu berriro erregistratu arte.
Dokumentuko iturburu-kodeari buruzko oharra
ExampDokumentu honetan agertzen den fitxategi-kodeak copyright eta BSD-3-Clause lizentzia hauek ditu:
Copyright 2024 NXP Birbanaketa eta erabilera forma bitar eta iturburuetan, aldaketarekin edo gabe, onartzen dira, baldin eta baldintza hauek betetzen badira:
- Iturburu-kodearen birbanaketak goiko copyright-oharra, baldintza-zerrenda hau eta hurrengo erantzukizun-oharra gorde behar ditu.
- Forma bitarrean birbanatzeak goiko copyright-oharra erreproduzitu behar du, baldintza-zerrenda hau eta dokumentazioan eta/edo bestelako materialen hurrengo erantzukizun-oharra erreproduzitu behar dira banaketarekin batera.
- Ezin dira erabili copyright-jabearen izena edo bere laguntzaileen izenak software honetatik eratorritako produktuak sustatzeko edo sustatzeko, aldez aurretik idatzizko baimen zehatzik gabe.
SOFTWARE HAU COPYRIGHT TITULARRAK ETA LAGUNTZAILEEK EMATEN DUTE “BELEAN” ETA EDOZEIN BERME ADIERAZKI EDO INPLIZITUTA, MERKATARITZARAKO ETA HELBURU BEREZIKO BATERAKO EGOKITASUNAREN BERME INPLIZITUAK BARNE, BAINA EZ MUGATU EZ. ESKUBIDEEN TITULARRA EDO LAGUNTZAILEAK EZ DA EZ DUTE ZUZENEKO, ZEHARKAKO, BEHARREZKO, BEREZI, EREDU EDO ONDORIOKO KALTEEN ERANTZUKIZUN IZANGO (BATEAN, ORDEZKO ONDASUN EDO ZERBITZUAK ESKURATZEA, DATUAK, ZERBITZUEN GALERAK, ERABILERA ZERBITZUAK BARNE, BAINA EZ MUGATU); EDO NEGOZIOA ETENA) EDOZEIN ERABILTZEN DUEN ETA ERANTZUKIZUN TEORIARI BURUZKOA, KONTRATUAN, ERANTZUKIZUN ZORTZEAN, EDO ARAUBIDEAK (URREGIZIA EDO BESTELAK BARNE), SOFTWARE HONEN ERABILTZETIK ERABILTZEN DAGOEN EDOZEIN ERABILERA, HONEN AUKERA OHAR IZAN BADIDEGOEN ERE.
Berrikuspen historia
Informazio juridikoa
Definizioak
Zirriborroa — Dokumentu baten zirriborro-egoerak adierazten du edukia oraindik barne-erreferentziapean dagoelaview eta onarpen formalaren menpe, aldaketak edo gehiketak eragin ditzake. NXP Semiconductors-ek ez du inolako aitorpen edo bermerik ematen dokumentu baten zirriborro batean jasotako informazioaren zehaztasunari edo osotasunari buruz eta ez du erantzukizunik izango informazio hori erabiltzearen ondorioengatik.
Erantzukizuna
- Berme mugatua eta erantzukizuna — Dokumentu honetako informazioa zehatza eta fidagarria dela uste da. Hala ere, NXP Semiconductors-ek ez du inolako adierazpenik edo bermerik ematen, adierazi edo inplizituki, informazio horren zehaztasunari edo osotasunari buruz eta ez du inolako erantzukizunik izango informazio horren erabileraren ondorioengatik. NXP Semiconductors-ek ez du dokumentu honetako edukiaren erantzukizunik hartzen NXP Semiconductors-etik kanpoko informazio iturri batek ematen badu.
NXP Semiconductors-ek ez du inolaz ere erantzule izango zeharkako, kasualitatezko, zigorgarri, berezi edo ondoriozko kalteen erantzule (mugarik gabe, galdutako irabaziak, galdutako aurrezkiak, negozio-etenaldiak, produktuak kentzea edo ordezkatzearekin lotutako kostuak edo birlanketa-kostuak barne). edo ez kalte horiek kalteak (arduragabekeria barne), bermeak, kontratuaren hausturak edo beste edozein teoria juridikotan oinarritzen dira.
Bezeroak edozein arrazoirengatik izan ditzakeen kalteak gorabehera, NXP Semiconductors-ek hemen deskribatutako produktuengatik bezeroarekiko duen erantzukizun globala eta metatua mugatuko da NXP Semiconductors-en merkataritza-salmentaren Baldintzen eta baldintzen arabera. - Aldaketak egiteko eskubidea — NXP Semiconductors-ek eskubidea du dokumentu honetan argitaratutako informazioan aldaketak egiteko, mugarik gabe zehaztapenak eta produktuen deskribapenak barne, edozein unetan eta jakinarazi gabe. Dokumentu honek hau argitaratu aurretik emandako informazio guztia ordezkatzen eta ordezkatzen du.
- Erabilerarako egokitasuna — NXP Semiconductors produktuak ez daude diseinatu, baimendu edo bermatzen egokiak direnik bizi-euskarrirako, bizitzarako kritikoko edo segurtasunerako sistema edo ekipoetan erabiltzeko egokiak direnik, ezta NXP Semiconductors produktu baten hutsegiteak edo funtzionamendu txarrak eragin dezakeen aplikazioetan ere. lesio pertsonalak, heriotza edo ondasun edo ingurumen kalte larriak. NXP Semiconductors-ek eta bere hornitzaileek ez dute inolako erantzukizunik hartzen NXP Semiconductors-ek ekipo edo aplikazio horietan NXP Semiconductors produktuak sartzeagatik edo erabiltzeagatik eta, beraz, sartzea eta/edo erabiltzea bezeroaren ardurapean dago.
- Aplikazioak — Produktu hauetako edozeinetarako hemen deskribatzen diren aplikazioak helburu ilustratiboetarako soilik dira. NXP Semiconductors-ek ez du inolako adierazpenik edo bermerik ematen aplikazio horiek zehaztutako erabilerarako egokiak izango direnik proba edo aldaketa gehiago egin gabe.
Bezeroak NXP Semiconductors produktuak erabiliz beren aplikazioen eta produktuen diseinuaren eta funtzionamenduaren erantzule dira, eta NXP Semiconductors-ek ez du inolako erantzukizunik hartzen aplikazioekin edo bezeroen produktuen diseinurako laguntzagatik. Bezeroaren ardura bakarra da NXP Semiconductors produktua bezeroaren aplikazioetarako eta aurreikusitako produktuetarako egokia eta egokia den zehaztea, baita bezeroaren hirugarren bezeroen aurreikusitako aplikaziorako eta erabilerarako ere. Bezeroek diseinu eta funtzionamendu-berme egokiak eman behar dituzte beren aplikazio eta produktuekin lotutako arriskuak minimizatzeko. NXP Semiconductors-ek ez du bere gain hartzen bezeroaren aplikazio edo produktuen edozein ahultasun edo lehenespenetan oinarritutako lehenetsi, kalte, kostu edo arazoekin edo bezeroaren hirugarren bezeroen aplikazio edo erabilerarekin lotutako edozein erantzukizun. Bezeroa NXP Semiconductors produktuak erabiltzen dituzten bezeroaren aplikazio eta produktuetarako beharrezkoak diren proba guztiak egiteaz arduratzen da, aplikazioen eta produktuen edo bezeroaren hirugarren bezeroek aplikazioa edo erabilera lehenetsia saihesteko. NXP-k ez du inolako erantzukizunik onartzen alde horretatik. - Merkataritza salmentarako baldintzak — NXP Semiconductors produktuak salmenta komertzialaren baldintza orokorren arabera saltzen dira, https://www.nxp.com/pro helbidean argitaratuta.file/baldintzak, baliozko idatzizko banakako hitzarmen batean kontrakoa adostu ezean. Banakako hitzarmena egiten bada, dagokion hitzarmenaren baldintzak eta baldintzak baino ez dira aplikatuko. NXP Semiconductors-ek berariaz aurka egiten du bezeroak NXP Semiconductors produktuak erosteari dagokionez bezeroaren baldintza orokorrak aplikatzeari.
- Esportazio kontrola — Dokumentu hau eta hemen deskribatutako elementua(k) esportazio-kontroleko araudiaren mende egon daitezke. Baliteke esportazioak agintari eskudunen aldez aurretiko baimena behar izatea.
- Automobilgintzaz kanpoko produktuetan erabiltzeko egokitasuna — Dokumentu honek NXP Semiconductors produktu espezifiko hau automoziorako kualifikatua dela adierazten ez badu behintzat, produktua ez da egokia automobilgintzarako. Ez dago ez kualifikatua, ezta probatu ere, automobilgintzako proben edo aplikazioen eskakizunen arabera. NXP Semiconductors-ek ez du inolako erantzukizunik hartzen automobilgintzako ekipamenduetan edo aplikazioetan automobilgintzakoak ez diren produktuak txertatzeagatik eta/edo erabiltzeagatik.
Bezeroak produktua diseinatzeko eta automobilgintzako aplikazioetan erabiltzeko erabiltzen badu automobilgintzako zehaztapen eta estandarrekin, bezeroak (a) erabiliko du produktua NXP Semiconductors-ek produktuaren bermerik gabe automobilgintzako aplikazio, erabilera eta zehaztapenetarako, eta ( b) bezeroak produktua NXP Semiconductors-en zehaztapenetatik haratago automoziorako aplikazioetarako erabiltzen duen bakoitzean, erabilera hori bezeroaren ardurapean izango da soilik, eta (c) bezeroak erabat indemnizatzen dio NXP Semiconductors-i bezeroaren diseinuaren eta erabileraren ondoriozko edozein erantzukizun, kalte edo huts egindako produktuen erreklamazioengatik. NXP Semiconductors-en berme estandarra eta NXP Semiconductors-en produktuaren zehaztapenetatik haratago automobilgintzako aplikazioetarako produktua. - Itzulpenak — Dokumentu baten ingelesezkoa ez den (itzulia) bertsioa, dokumentu horretako informazio juridikoa barne, erreferentziarako soilik da. Ingelesezko bertsioa nagusituko da itzulitako eta ingelesezko bertsioen artean desadostasunik egonez gero.
- Segurtasuna — Bezeroak ulertzen du NXP produktu guztiak identifikatu gabeko ahultasunen menpe egon daitezkeela edo muga ezagunak dituzten segurtasun-estandarrak edo zehaztapenak onartzen dituztela. Bezeroa da bere aplikazio eta produktuen diseinuaren eta funtzionamenduaren ardura bere bizitza-ziklo osoan zehar, ahultasun horiek bezeroaren aplikazio eta produktuetan duten eragina murrizteko. Bezeroaren erantzukizuna NXP produktuek onartzen duten beste teknologia ireki eta/edo jabedun batzuetara ere hedatzen da, bezeroaren aplikazioetan erabiltzeko. NXP-k ez du inolako ahultasunen erantzukizunik onartzen. Bezeroak aldizka egiaztatu beharko lituzke NXPren segurtasun-eguneratzeak eta behar bezala jarraitu. Bezeroak nahi den aplikazioaren arauak, arauak eta estandarrak hobekien betetzen dituzten segurtasun-ezaugarriak dituzten produktuak hautatuko ditu eta bere produktuei buruzko azken diseinu-erabakiak hartuko ditu eta bere produktuei buruzko legezko, arauzko eta segurtasun-eskakizun guztiak betetzearen erantzule bakarra izango da, edozein dela ere. NXP-k eman dezakeen edozein informazio edo laguntza.
NXP-k produktuen segurtasun-intzidenteei erantzuteko talde bat (PSIRT) du (PSIRT@nxp.com helbidean eskura daiteke), NXP produktuen segurtasun-ahulguneen ikerketa, txostenak eta irtenbideen askapena kudeatzen duena.
NXP B.V. - NXP B.V. ez da enpresa eragile bat eta ez du produkturik banatzen edo saltzen.
Markak
Oharra: erreferentziatutako marka, produktu-izen, zerbitzu-izenak eta marka komertzialak dagozkien jabeen jabetzakoak dira.
NXP — hitz-marka eta logotipoa NXP BV-ren marka komertzialak dira
AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, big.LITTLE, Cordio, CoreLink, CoreSight, Cortex, DesignStart, DynamIQ, Jazelle, Keil, Mali, Mbed, Mbed Enabled, NEON, POP, RealView, SecurCore, Socrates, Thumb, TrustZone, ULINK, ULINK2, ULINK-ME, ULINK-PLUS, ULINKpro, μVision, Versatile — Arm Limited-en (edo bere filial edo afiliatuen) marka komertzialak edo erregistratuak dira AEBetan eta/edo beste nonbait. Erlazionatutako teknologia patente, egile-eskubide, diseinu eta sekretu komertzialek edo guztiek babestuta egon daiteke. Eskubide guztiak erreserbatuak.
- i.MX — NXP BV-ren marka komertziala da
- J-Link — SEGGER Microcontroller GmbH-en marka komertziala da.
Microsoft, Azure eta ThreadX — Microsoft enpresa taldearen marka komertzialak dira.
Kontuan izan dokumentu honi eta hemen deskribatutako produktuei buruzko ohar garrantzitsuak "Lege-informazioa" atalean sartu direla.
© 2024 NXP BV
Informazio gehiago lortzeko, mesedez bisitatu: https://www.nxp.com
- Argitaratze data: 19ko apirilaren 2024a
- Dokumentuaren identifikatzailea: AN14263
Ohiko galderak
G: Zein da produktu honen helburu nagusia?
A: Helburu nagusia aurpegia ezagutzeko funtzioa gaitzea da AI&ML ikusmen algoritmoaren eredu bat erabiliz LVGL GUI ex sinple batekin.ample SLN-TLHMI-IOT plakan.
G: Nola onura ditzakete garatzaileek aplikazioaren ohar honetatik?
E: Garatzaileek markoan aurpegi-ezagutza nola ezarri ikas dezakete urratsez urrats emandako adibidea erabilizampEzagutu eta ulertu gailuen kudeatzaileak, HAL gailuak eta inplikatutako gertaeren mekanismoak.
Dokumentuak / Baliabideak
![]() |
NXP AN14263 Ezarri LVGL GUI Aurpegi-ezagutza Framewor-en [pdfErabiltzailearen gida AN14263 Ezarri LVGL GUI Aurpegi-ezagutza markoan, AN14263, Ezarri LVGL GUI Aurpegi-hautematea markoan, LVGL GUI Aurpegi-hautematea markoan, Aurpegi-hautematea markoan, Errekonozimendua markoan, Framewor-ean |