NXP AN14263 Nerapkeun LVGL GUI Pangenalan raray dina Framewor
Émbaran produk
spésifikasi
- Ngaran produk: LVGL GUI Pangwanoh raray on Framework
- Révisi Dokumén: 1 - 19 April 2024
- kecap konci: Pangenal raray, LVGL GUI, kerangka
Parentah Pamakéan Produk
- Leuwihview
Produk ieu ngamungkinkeun model algoritma visi AI&ML pikeun pangenal raray dina kerangka pikeun nerapkeun fungsi pangenal raray sareng LVGL GUI ex basajan.ample on dewan SLN-TLHMI-IOT. - Framework Leuwihview
Parangkat lunak solusi dirarancang sakitar arsitektur kerangka anu kalebet manajer alat anu tanggung jawab pikeun ngatur alat, alat HAL pikeun detil dasar anu abstrak, sareng kajadian pikeun komunikasi antara alat anu béda. - Fitur
Produk ngamungkinkeun pikeun palaksanaan fungsi pangenal raray via kaméra preview dina layar GUI sareng tombol pikeun memicu pendaptaran raray, pangakuan, sareng ngahapus. Data raray kadaptar disimpen dina Flash via a file sistem. - Eusi Catetan Aplikasi
Catetan aplikasi nampilkeun layar GUI LVGL sareng pra kaméraview jeung tombol pikeun lampah nu patali raray. Éta ngabantosan pamekar ngartos kerangka sareng cara nerapkeun pangenal raray nganggo mantan anu disayogikeunample.
Leuwihview
NXP parantos ngaluncurkeun kit pamekaran solusi anu namina SLN-TLHMI-IOT anu museurkeun kana aplikasi HMI pinter. Éta ngamungkinkeun HMI pinter sareng visi ML, sora, sareng grafis UI dilaksanakeun dina hiji NXP i.MX RT117H MCU. Dumasar kana SDK, parangkat lunak solusi diwangun dina desain anu disebut kerangka anu ngadukung desain anu fleksibel sareng kustomisasi visi sareng fungsi sora. Pikeun mantuan pamaké ngagunakeun platform software hadé, sababaraha dokumén dasar disadiakeun, contonaample, pituduh pamaké ngembangkeun software. Pituduh ngenalkeun desain parangkat lunak dasar sareng arsitéktur aplikasi anu nyertakeun sadaya komponén solusi kalebet kerangka pikeun ngabantosan pamekar langkung gampang sareng éfisién nerapkeun aplikasina nganggo SLN-TLHMI-IOT.
Kanggo inpo nu langkung lengkep ihwal solusi sareng dokumén relevan, mangga buka web Kaca tina Solusi HMI Smart NXP EdgeReady Dumasar kana i.MX RT117H sareng ML Vision, Voice, sareng UI Graphical. Sanajan kitu, éta kénéh teu jadi gampang pikeun pamekar pikeun nerapkeun aplikasi pinter HMI maranéhanana ngarujuk kana pituduh dasar ieu. Runtuyan catetan aplikasi direncanakeun pikeun ngabantosan ngulik pangwangunan dina kerangka léngkah-léngkah. Catetan aplikasi ieu dumasar kana Implement LVGL GUI Camera Praview on Framework (dokumen AN14147). Catetan aplikasi ieu ngajelaskeun kumaha carana ngaktifkeun modél algoritma visi AI&ML pikeun pangenal raray dina kerangka pikeun nerapkeun fungsi pangenal raray via kaméra pra.view dina layar GUI kalawan basajan LVGL GUI example dina dewan SLN-TLHMI-IOT. Dina catetan aplikasi, example presents hiji layar GUI LVGL kalawan pre kaméraview jeung sababaraha tombol pikeun memicu pendaptaran raray, pangakuan, sarta ngaleupaskeun. Data raray nu kadaptar disimpen dina Flash via saeutik file sistem.
Dina tingkat anu luhur, catetan aplikasi ngandung eusi di handap ieu:
- Aktipkeun fitur pangenal raray dina kerangka.
- Tambahkeun rojongan database raray dina kerangka via file sistem dina Flash.
- Laksanakeun aplikasi LVGL GUI. Ngaliwatan perkenalan di luhur, dokumén ieu ngabantosan pamekar pikeun:
- Ngartos kerangka sareng parangkat lunak solusi HMI pinter langkung jero.
- Ngembangkeun pangenal raray AI&ML dina kerangka nganggo aplikasi LVGL GUI.
Kerangka leuwihview
Sofwer solusi utamana dirancang sabudeureun pamakéan arsitektur kerangka nu diwangun ku sababaraha bagian béda:
- Manajer alat - bagian inti
- Paranti Lapisan Abstraksi Hardware (HAL).
- Pesen / Kajadian
Ditémbongkeun saperti dina Gambar 1, leuwihview mékanisme kerangka nyaéta:
Manajer alat tanggung jawab pikeun ngatur alat anu dianggo ku sistem. Unggal jenis alat (input, kaluaran, jeung saterusna) boga manajer alat tipe-spésifik sorangan. Kalayan manajer alat dimimitian saatos alat didaptarkeun ka dinya, éta ngantosan sareng pariksa pesen pikeun mindahkeun data ka alat sareng manajer sanés saatos ngamimitian sareng ngamimitian alat anu kadaptar. Alat HAL ditulis dina luhureun kode supir tingkat handap, mantuan pikeun ngaronjatkeun pamahaman kode ku abstracting loba rinci kaayaan.
Kajadian mangrupikeun sarana dimana inpormasi dikomunikasikeun antara alat anu béda-béda ngalangkungan manajerna. Lamun hiji kajadian dipicu, alat nu mimiti narima acara komunikasi eta acara ka manajer na, teras ngabéjaan manajer séjén ditunjuk pikeun nampa acara.
Desain arsitéktur kerangka ieu dipuseurkeun kana tilu tujuan utama:
- Gampang-pamakean
- Kalenturan / Portability
- Performance
Kerangka ieu dirarancang kalayan tujuan nyepetkeun waktos ka pasar pikeun visi sareng aplikasi pembelajaran mesin anu sanés. Pikeun mastikeun waktos gancang ka pasar, penting pisan yén parangkat lunak éta gampang kahartos sareng dimodifikasi. Ngajaga tujuan ieu dina pikiran, arsitéktur kerangka téh gampang pikeun ngaropéa tanpa jadi restrictive, sarta tanpa datang dina biaya kinerja.
Pikeun leuwih rinci ngeunaan kerangka, tingali Smart HMI Software Development Guide pamaké (dokumen MCU-SMHMI-SDUG).
Perpustakaan Grafik Cahaya sareng Serbaguna (LVGL)
LVGL (Light and Versatile Graphics Library) mangrupikeun perpustakaan grafis gratis sareng open-source anu nyayogikeun sadayana anu anjeun peryogikeun pikeun nyiptakeun GUI anu dipasang kalayan elemen grafis anu gampang dianggo, épék visual anu saé sareng tapak mémori anu rendah.
Guider GUI
GUI Guider mangrupikeun alat pangembangan antarmuka pangguna grafis anu ramah-pamaké ti NXP anu ngamungkinkeun pamekaran gancang tina tampilan kualitas luhur sareng perpustakaan grafik LVGL open-source. Editor drag-and-drop GUI Guider ngagampangkeun ngagunakeun seueur fitur LVGL sapertos widget, animasi, sareng gaya pikeun nyiptakeun GUI kalayan minimal atanapi henteu aya kode.
Kalayan ngaklik tombol, anjeun tiasa ngajalankeun aplikasi anjeun dina lingkungan simulasi atanapi ngékspor ka proyék target. Kodeu dihasilkeun tina GUI Guider bisa gampang ditambahkeun kana proyék anjeun, accelerating prosés ngembangkeun sarta ngidinan Anjeun pikeun seamlessly nambahkeun panganteur pamaké embedded kana aplikasi Anjeun. GUI Guider bébas dianggo sareng tujuan umum NXP sareng MCU silang sareng kalebet témplat proyék anu diwangun pikeun sababaraha platform anu dirojong. Pikeun leuwih jéntré ngeunaan LVGL na ngembangkeun GUI on GUI Guider, pariksa Light and Versatile Graphics Library and GUI Guider.
Lingkungan pangwangunan
Kahiji, nyiapkeun sarta nyetél lingkungan hardware jeung software pikeun nerapkeun example on kerangka.
Lingkungan hardware
Lingkungan hardware diatur pikeun verifying example:
- Kit pamekaran HMI pinter dumasar kana NXP i.MX RT117H (kit SLN_TLHMI_IOT)
- SEGGER J-Link sareng adaptor 9-pin Cortex-M sareng V7.84a atanapi versi supir anu langkung énggal
Parangkat lunak lingkungan
Lingkungan software diatur pikeun ngembangkeun example:
- MCUXpresso IDE V11.7.0
- GUI Guider V1.6.1-GA
- lvgl_gui_camera_preview_cm7 – exampkode le tina catetan aplikasi kadua salaku software dadasar pangwangunan. Pikeun detil, tingali https://mcuxpresso.nxp.com/appcodehub.
- RT1170 SDK V2.13.0 - salaku sumberdaya kode pikeun pangwangunan.
- SLN-TLHMI-IOT software V1.1.2 - kode sumber HMI pinter dirilis dina Repository NXP GitHub salaku sumberdaya kode pikeun ngembangkeun. Pikeun detil, tingali: GitHub - NXP/mcu-smhmi di v1.1.2
Pikeun rinci ngeunaan acquirement tur setelan lingkungan software, tingali: Ngamimitian jeung SLN-TLHMI-IOT.
Arsitéktur visi dina kerangka
Arsitéktur visi dina kerangka dipidangkeun dina Gambar 2. Visi algo HAL (OASIS_HAL) ngagaduhan prosés di handap ieu:
- Ngalaksanakeun pendaptaran sareng pangakuan ngaliwatan modél algoritma visi AI&ML saatos nampi acara anu aya hubunganana ti UI HAL kaluaran. Béjakeun hasil inferensi tina modél algoritma kana kaluaran UI HAL.
- Aksés (nambahkeun, mupus…) database fitur raray dumasar kana sakedik file sistem ku nelepon ka API tina FaceDB HAL sanggeus narima kajadian patali ti UI HAL kaluaran.
- Ménta pigura vidéo kaméra ti HAL kaméra nalika ngalakukeun pendaptaran sareng pangenal raray.
Nerapkeun pangenal raray dina kerangka
The LVGL GUI beungeut pangakuan example (mantanample disadiakeun engké) dina kerangka dilaksanakeun dumasar kana exampkodeu le of Nerapkeun LVGL GUI kaméra Praview on Framework (dokumen AN14147).
Pikeun demonstrating pangakuan raray di example, fungsi dasar tina aplikasi GUI (tingali layar utama dina Gambar 3) dirancang sakumaha ditétélakeun di handap:
- Aplikasi GUI micu acara pendaptaran raray atanapi pangakuan kana kaluaran UI HAL nalika ngaklik tombol Registrasi atanapi Pangenal. Sareng kaluaran UI HAL ngabéjaan acara nambihan pangguna kana visi algo HAL saatos pendaptaran wajah suksés.
- Aplikasi GUI memicu acara ngahapus pangguna kana UI HAL kaluaran nalika ngaklik tombol Hapus Pamaké saatos muka pangguna dikenal.
- Aplikasi GUI micu acara pikeun ngeureunkeun oasis algo ngajalankeun kana kaluaran UI HAL nalika ngaklik layar di luar tombol sareng gambar.
Nyiapkeun paket software pikeun palaksanaan example.
- Kloning software dasar lvgl_gui_camera_preview_cm7. Ngarobah ngaran proyék jeung utama filenami ka lvgl_gui_face_rec_cm7.
- Kerangka ieu diperyogikeun pikeun diropéa dina parangkat lunak sabab kode sumber pikeun inti kerangka parantos mimiti umum di GitHub tina versi 1.1.2.
- Ngaganti folder kerangka jeung salinan V1.1.2 ti GitHub iwal ti files fwk_log.h na fwk_common.h handapeun inc \ sabab geus dirobah pikeun runtuyan catetan aplikasi. Operasi ditémbongkeun dina Gambar 4:
- Pupus folder framework_cm7 handapeun grup libs jeung cabut perpustakaan framework_cm7 sarta jalur pilarian na ngonpigurasi dina Project> Pasipatan> C / C ++ Bangun> setélan> Setélan alat> MCU C ++ Linker> Perpustakaan saprak kode sumber inti disadiakeun.
Aktipkeun fitur pangenal raray dina kerangka
Fitur pangenal raray diwangun dina modél algoritma visi ML anu disayogikeun salaku perpustakaan statik - perpustakaan runtime oasis lite ku NXP. Perpustakaan téh leutik, kacida éfisiénna, ngaropéa, sarta dioptimalkeun AI perpustakaan. Modelna kalebet deteksi wajah, pangenal wajah, deteksi kaca, sareng deteksi liveness. Utamana nyadiakeun API OASISLT_run_extended () pikeun ngajalankeun pipa pangenalan raray bari ngamutahirkeun hasil ka panelepon ngaliwatan callbacks acara, jeung nambahkeun / ngamutahirkeun / mupus rupa dina database ngaliwatan callbacks database raray sanggeus nangtukeun informasi pigura sumber, callbacks, sarta memori. kolam renang dipaké ku perpustakaan ku panggero API sejen OASISLT_init () pa initialization. Nyauran API sareng fungsi callback dilaksanakeun dina visi algo HAL kerangka.
Tambahkeun perpustakaan model algo visi
- Salin folder oasis ngandung perpustakaan jeung lulugu patali file ti pinter HMI\coffee_machine\cm7\libs\ kana folder libs tina exampjeung SW.
- Tambahkeun jalur pilarian tina lulugu file dina Project > Properties > C/C++ Build > settings > Tool Settings > MCU C compiler > Includes and MCU C++ compiler > Ngawengku: "${workspace_loc:/${ProjName}/libs/oasis/include}"
- Tambahkeun lib sareng jalur panéangan na dina Project> Properties> C/C++ Build> settings> MCU C++ Linker> Libraries: liboasis_lite2D_DEFAULT_117f_ae.a "${workspace_loc:/${ProjName}/libs/oasis}" jeung harti makro pikeun Aktipkeun fitur dina Project> Properties> C/C++ Build> settings> Tool Settings> MCU C compiler> Preprocessor and MCU C++ compiler> Preprocessor: SMART_TLHMI_2D
Aktipkeun visi algo HAL
Visi algo HAL ngajalankeun modél visi algo pikeun dianggo sareng ngaréspon hasilna kana HAL kaluaran UI saatos nampi acara ti dinya.
Pikeun ngaktifkeunana, clone supir HAL anu sami file dimana fungsi di handap ieu dilaksanakeun:
- Ngalaksanakeun callbacks operasi database beungeut jeung penanganan acara.
- Pandu visi algo pikeun dianggo ku nelepon ka API perpustakaan oasis.
- Aksés pangkalan data raray pangguna sareng pangkalan data aplikasi (henteu diperyogikeun dina example).
- Nampi acara ti sarta ngirimkeun hasil ka kaluaran UI HAL.
Karya utama pikeun ngalaksanakeun HAL pikeun mantanampnyaéta:
- Kloning supir HAL anu sami file jeung ngaganti ngaran nu patali.
- Hapus kodeu anu aya hubunganana sareng operasi data aplikasi.
- Apdet definisi jeung fungsi pikeun nanganan acara ti UI kaluaran HAL per examprarancang.
- Tambahkeun konfigurasi diperlukeun dina initialization oasis.
Léngkah-léngkahna nyaéta saperti kieu:
- Klon hal_vision_algo_oasis_coffeemachine.c. Ngarobah filengaran kana hal_vision_algo_oasis_guifacerec.c. Sarta ngaganti sakabeh string CoffeeMachine kalawan GUIFaceRec dina file.
- Cabut kodeu anu ngandung string coffeedb (henteu sénsitip) anu aya hubunganana sareng database aplikasi, contonaample, #include hal_sln_coffeedb.h.
- Ngaropéa fungsi HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify () pikeun nanganan kajadian tina kaluaran UI HAL.
- Ngarobah harti acara kEventFaceRecId_RegisterCoffeeSelection mun kEventFaceRecId_RegisterUserFace jeung struktur string regCoffeeSelection mun regGUIFaceRec pikeun penanganan acara pikeun nambahkeun data fitur raray anyar kana database.
- Pikeun mintonkeun prosés standar lampah pangenal raray di example, ngaropéa penanganan dina kasus kEventFaceRecID_OasisSetState kalawan definisi nagara bagian:
- kOASISLiteState
- Pendaptaran kOASISLiteState
- Pangakuan kOASISLiteState
- Dieureunkeun
- Tambihkeun sareng modifikasi definisi kajadian anu disebatkeun dina léngkah di luhur.
- Salin lulugu file smart_tlhmi_event_descriptor.h ti pinter HMI\coffee_machine \cm7\source\event_handlers\ kana folder sumber mantanampjeung SW. Ngamutahirkeun nu file saperti ieu di handap:
- Ngarobah harti acara kEventFaceRecId_RegisterCoffeeSelection ka kEventFaceRecId_RegisterUserFace dina tipe enum _event_smart_tlhmi_id jeung string struktur regCoffeeSelection ka regGUIFaceRec dina struct _event_smart_tlhmi. Janten, robih struct register_coffee_selection_event_t pikeun regCoffeeSelection ka register_gui_facerec_event_t.
- Hapus eusi anu sanés anu dianggo pikeun aplikasi mesin kopi, contonaample, garis kode ngeunaan sora: #include "hal_event_descriptor_voice.h".
- Tambahkeun tipe kOASISLiteState_Stopped na kOASISLiteState_Running kana tipe enum oasis_lite_state_t di hal_vision_algo.h handapeun kerangka> hal> visi dina proyék sakumaha di handap ieu:
typedef enum _oasis_lite_state {- kOASISLiteState
- Ngajalankeun, kOASISLiteState
- Dieureunkeun, kOASISLiteState
- Pangakuan,
- kOASISLiteState
- Pendaptaran, kOASISLiteState
- Deregistration, kOASISLiteState
- RemoteRegistration, kOASISLiteState
- Ngitung
- Anggo struct oasis_lite_state_t diropéa luhur pikeun nyaring struct oasis_state_event_t di hal_event_descriptor_face_rec.h handapeun kerangka> hal> visi dina proyék sakumaha di handap ieu: typedef struct _oasis_state_event_t {oasis_lite_state_t state; } oasis_state_event_t;
- Robah sadayana kEventInfo_Remote ka kEventInfo_Local pikeun ngirim acara tina visi algo HAL ka HAL séjén anu dijalankeun dina inti anu sami sareng inti tunggal tinimbang dual-inti anu dianggo dina ex.ample.
- Tambihkeun sareng modifikasi konfigurasi di handap ieu pikeun inisialisasi oasis di OASISLT_init ():
- Tambahkeun definisi makro sareng bagian mémori pikeun pigura pidéo dina board_define.h: #define OASIS_RGB_FRAME_WIDTH 800
- #define OASIS_RGB_FRAME_HEIGHT 600
- #define OASIS_RGB_FRAME_SRC_FORMAT kPixelFormat_YUV1P444_RGB
- #define OASIS_RGB_FRAME_BYTE_PER_PIXEL 3
- #define AT_FB_SHMEM_SECTION_ALIGN(var, alignbytes) \
- __atribut__((bagian (“.bss.$fb_sh_mem,\”aw\”,%nobits @”))) var
- __atribut__((aligned(alignbytes)))
- Konpigurasikeun tugas mémori kana bagian mémori di luhur fb_sh_mem on Project> Properties> C/C++ Build> Setélan MCU ditémbongkeun dina Gambar 5:
- Nyatakeun variabel global g_DTCOPBuf di lvgl_gui_face_rec_cm7.cpp: AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf [DTC_OPTIMIZE_BUFFER_SIZE], 4);
- Terus nambahkeun definisi anu digunakeun dina variabel di luhur:
- Nangtukeun bagian luhur di board_define.h:
- #define AT_NONCACHEABLE_SECTION_ALIGN_DTC(var, alignbytes) \
- atribut__((bagian(".bss.$SRAM_DTC_cm7,\"aw\",%nobit @"))) var
- atribut__((aligned(alignbytes)))
- Kaasup lulugu file hal_vision_algo.h ngandung harti makro DTC_OPTIMIZE_BUFFER_SIZE di app_config.h kaasup dina lvgl_gui_face_rec_cm7.cpp.
- Tambahkeun definisi makro sareng bagian mémori pikeun pigura pidéo dina board_define.h: #define OASIS_RGB_FRAME_WIDTH 800
- Setel variabel s_debugOption ka leres pikeun nunjukkeun status kamajuan dina pangenal raray.
- Tambahkeun jalur pilarian tina lulugu files visi HAL on Project > Properties > C/C++ Build > settings > Tool Settings > MCU C compiler > Includes and MCU C++ compiler > Ngawengku: "${workspace_loc:/${ProjName}/framework/hal/vision}"
- Tambahkeun definisi di handap pikeun ngaktipkeun visi algo HAL dina board_define.h: #define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec
Aktipkeun kaluaran UI HAL
Output UI HAL ngabéjaan kajadian kana visi algo HAL sareng ngaréspon kana hasil inferensi tina visi algo HAL. Kalayan aplikasi GUI, acara umumna dipicu ku aplikasi sareng hasilna ditingalikeun dina aplikasi.
Pikeun ngaktifkeunana, clone supir HAL anu sami file dimana umumna fungsi di handap ieu dilaksanakeun:
- Bewara kajadian pikeun pangenal raray sareng aksés database.
- Larapkeun callbacks pikeun aplikasi GUI pikeun memicu kajadian.
- Nanganan hasil inferensi tina modul algo visi.
- Témbongkeun prosés jeung hasil tina acara penanganan dina UI ku kamajuan bar dikawasa ku timers jeung sagi opat pituduh beungeut.
Karya utama pikeun ngalaksanakeun HAL pikeun mantanampAnu digunakeun dina ieu dokumén nyaéta:
- Kloning supir HAL anu sami file jeung ngaganti ngaran nu patali.
- Hapus kodeu anu aya hubunganana sareng aplikasi.
- Ngamutahirkeun fungsi pikeun béwara kajadian sareng réspon hasil per urutamprarancang.
- Tambahkeun callbacks pikeun aplikasi GUI pikeun memicu kajadian.
Léngkah-léngkahna nyaéta saperti kieu:
- Klon hal_output_ui_coffee_machine.c. Ngarobah filengaran kana hal_ output_ui_guifacerec.c.
- Ngaganti sakabeh string CoffeeMachine kalawan GUIFaceRec dina file.
- Cabut kode anu aya hubunganana sareng aplikasi - mesin kopi.
- Leupaskeun fungsi WakeUp () sarta _StandBy () jeung Konci patali (bisa neangan string wake_up na standby pikeun aranjeunna).
- Leupaskeun preview acara mode nanganan kode patali dina HAL_OutputDev_UiGUIFaceRec_Input Ngabéjaan ().
- Leupaskeun fungsi UI_xxx_Callback () jeung Konci nu ngandung string gui_ na layar nu patali jeung GUI tina mesin kopi iwal gui_set_virtual_face () keur pre.view fitur modeu.
- Hapus sadaya kode anu kalebet variabel s_IsWaitingAnotherSelection sareng s_IsWaitingRegisterSelection anu aya hubunganana sareng aplikasi mesin kopi.
- Hapus kodeu anu aya hubunganana sareng sora, audio, sareng basa. Pikeun example:
- #include "hal_voice_algo_asr_local.h",
- #include "hal_event_descriptor_voice.h"
- Pikeun rupa-rupa bewara acara, nerapkeun fungsi anyar _OutputManagerNotify (), _SetFaceRec (), _RegisterGUIFaceRec (), sarta DeregisterGUIFaceRec () ngarujuk kana fungsi _StopFaceRec (), _RegisterCoffeeSelection (), sarta Deregister) saméméh delection.
- _OutputManagerNotify () ngalaksanakeun fungsi kaluaran acara dasar pikeun ngirim hiji acara ka visi algo HAL. Di handap ieu fungsi nelepon pikeun ngirim acara sorangan.
- _SetFaceRec () ngirimkeun acara kEventFaceRecID_OasisSetState pikeun memicu algo visi pikeun pendaptaran raray, pangakuan, sareng ngeureunkeun algo.
- _RegisterGUIFaceRec () ngirimkeun acara kEventFaceRecId_RegisterGUIFaceRec anu didefinisikeun dina smart_tlhmi_event_descriptor.h pikeun nambahkeun data fitur raray kana database nalika pendaptaran OK.
- DeregisterGUIFaceRec () ngirimkeun acara kEventFaceRecID_DelUser pikeun ngahapus data fitur raray tina pangkalan data nalika ngalangkungan pangakuan raray.
- Apdet kodeu pikeun ngalakukeun tindakan anu saluyu kaasup refresh GUI ku nelepon ka API tina aplikasi LVGL GUI pikeun hasil inferensi pendaptaran raray sareng pangakuan dina fungsi _InferComplete_Vision() per mantanampdesain urang. Pikeun exampLe, nalika pendaptaran raray suksés,
- Ngeureunkeun némbongkeun kamajuan ku nelepon _FaceRecProcess_Stop ();
- Ngeureunkeun pendaptaran raray ku nelepon _SetFaceRec (kOAASISLiteState_Stopped);
- Témbongkeun hasil suksés dina GUI: gui_show_face_rec_result (kFaceRecResult_OK, s_UserId);
- Ngadaptarkeun data beungeut ka database: _RegisterUserFace(s_UserId);
- Tambahkeun fungsi callback UI pikeun nanganan acara: preview, pendaptaran raray, pangakuan, sareng ngahapus pangguna anu dipicu tina GUI. Pikeun example, raray pendaptaran callback: batal UI_Registration_Callback () { _SetFaceRec (kOASISLiteState_Registration); _FaceRecProcess_Start(); }
- Na nambahkeun fungsi _FaceRecProcess_Start () sarta _FaceRecProcess_Stop () pikeun nembongkeun kamajuan sarta status dina acara béda jeung hasil.
- Apdet timer ISR fungsi callback _SessionTimer_Callback () pikeun nanganan kasus time-out ku nelepon: gui_show_face_rec_result (kFaceRecResult_TimeOut, s_UserId);
- Tambahkeun definisi di handap pikeun ngaktipkeun UI kaluaran HAL dina board_define.h: #define ENABLE_OUTPUT_DEV_UiGUIFaceRec
bewara:
Pikeun nampilkeun fitur pangenal wajah anu langkung saé, jaga fungsi pikeun nunjukkeun prosés sareng hasil pangenal wajah dina kaluaran UI HAL. fungsina digambarkeun saperti ieu di handap
- Sagi opat pituduh raray nunjukkeun warna biru, sareng bar kamajuan nunjukkeun kamajuan nalika ngamimitian pendaptaran atanapi pangenal raray.
- Sagi opat pituduh raray nembongkeun beureum nalika pendaptaran raray suksés.
- Sagi opat pituduh raray nembongkeun héjo nalika pangenal raray suksés.
- Sagi opat pituduh raray tetep bulao, sareng bar kamajuan nunjukkeun kamajuan pinuh nalika tindakan henteu suksés saatos béakna waktos. Dina titik éta, ngeureunkeun pendaptaran raray atanapi pangakuan.
Bar kamajuan sareng sagi opat pituduh raray dibere salaku ikon anu diwangun kana binér sumberdaya file pikeun diprogram kana Flash. The pointers kana data ikon on SDRAM diatur dina fungsi LoadIcons (APP_ICONS_BASE) disebut dina output UI HAL initialization alat dina kaluaran UI HAL. Éta kedah nerapkeun dukungan ikon pikeun fungsina.
Ngalaksanakeun dukungan ikon
- Bangun sumber daya anu ngagabungkeun ikon sareng gambar anu dianggo dina aplikasi LVGL GUI:
- Kloning opat ikon lulugu files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, jeung virtual_face_red_420x426.h ti smart HMI
\ mesin kopi \ sumberdaya \ ikon \ ka ikon folder anyar handapeun folder sumberdaya exampjeung SW. - Tambahkeun jalur pilarian pikeun opat ikon files dina camera_preview_resource.txt file dina folder sumberdaya, contonaample: ikon ../sumberdaya/ikon/process_bar_240x14.h
- Jalankeun camera_preview_resource_build.bat pikeun ngawangun gambar jeung ikon sumberdaya pikeun ngahasilkeun bin file camera_preview_resource.bin jeung info file resource_information_table.txt (Tingali Gambar 6).
- Kloning opat ikon lulugu files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, jeung virtual_face_red_420x426.h ti smart HMI
- Nangtukeun alamat mimiti on SDRAM sarta ukuran ikon dina app_config.h. Alamatna dimimitian di gigireun gambar aplikasi GUI. Ukuran dihasilkeun dina info file. #define APP_ICONS_BASE (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) #define APP_ICONS_SIZE 0x107c40
- Apdet ukuran ditugaskeun tina bagian memori ngaranna res_sh_mem ka 0x200000 ku redefining eta di app_config.h: #define RES_SHMEM_TOTAL_SIZE 0x200000 jeung setelan pakait dina Project> Pasipatan> C / C ++ Bangun> setélan MCU.
- Tambahkeun ukuran ikon kana ukuran total sumberdaya dimuat ti Flash mun SDRAM dina fungsi APP_LoadResource () dina utama. file lvgl_gui_face_rec_cm7.cpp: memcpy ((batal *) APP_LVGL_IMGS_BASE, pLvglImages, APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE);
Bewara: Pikeun ngalengkepan fitur pangenal raray, rojongan aplikasi LVGL GUI diperlukeun. Fungsi callback UI dina UI HAL kaluaran disebut ku aplikasi LVGL GUI pikeun nanganan kajadian tina layar UI. Di sisi séjén, kaluaran UI HAL nyauran API tina aplikasi LVGL GUI pikeun ngapdet UI pikeun nunjukkeun hasil sareng status. Ngembangkeun aplikasi LVGL GUI kawilang mandiri sareng diwanohkeun dina Bagian 4.3.
4.1.5 Mimitian alat sareng manajer HAL pikeun pangenal raray
Visi anu diaktipkeun algo HAL sareng UI kaluaran HAL sareng manajerna dimimitian dina utama file
lvgl_gui_face_rec_cm7.cpp nuturkeun konvérsi pangwangunan dina kerangka sapertos di handap ieu:
- Kaasup lulugu file patali jeung dua manajer HAL ku nambahkeun garis kode:
- #include ” fwk_output_manager.h “
- #include "fwk_vision_algo_manager.h"
- Nyatakeun alat HAL:
- HAL_VALGO_DEV_DECLARE(OasisGUIFaceRec);
- HAL_OUTPUT_DEV_DECLARE(UiGUIFaceRec);
- Ngadaptarkeun alat HAL:
- HAL_VALGO_DEV_REGISTER(OasisGUIFaceRec, ret);
- HAL_OUTPUT_DEV_REGISTER(UiGUIFaceRec, ret);
- Mimitian manajer:
- FWK_MANAGER_INIT(VisionAlgoManager, ret);
- FWK_MANAGER_INIT(OutputManager, ret);
- Mimitian manajer:
- FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, ret);
- FWK_MANAGER_START(OutputManager, OUTPUT_MANAGER_TASK_PRIORITY, ret);
- Nangtukeun prioritas tugas manajer:
- #define VISI_ALGO_MANAGER_TUGAS_PRIORITAS 3
- #define OUTPUT_MANAGER_TUGAS_PRIORITY 1
Tambahkeun rojongan database raray dina kerangka
Data fitur raray nu kadaptar diaksés dina database raray disimpen dina Flash via saeutik file sistem. Léngkah-léngkah pikeun nambihan dukungan database raray dijelaskeun di handap.
Tambahkeun panggerak pikeun neundeun Flash
Nyalin panganteur Flash supir FlexSPI files fsl_flexspi.c na fsl_flexspi.h, jeung supir enkripsi data files fsl_caam.c sareng fsl_caam.h tina jalur SDK_2_13_0_MIMXRT1170-EVK\devices \MIMRX1176\drivers\ ka folder drivers of ex.ampjeung SW.
Tambahkeun rojongan dewan-tingkat
- Tambihkeun definisi FlexSPI anu dianggo pikeun alat Flash dina board.h:
- #definisikeun BOARD_FLEXSPI FLEXSPI1
- #definisikeun BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1
- #define BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE
- Nyalin operator sareng konfigurasi files tina alat Flash flexspi_nor_flash_ops.c, flexspi_nor_flash_ops.h, sln_flash_config.c, sln_flash_config_w25q256jvs.h, andsln_flash_ops.h handapeun jalur pinter HMI\coffee_machine\cm7\source ka\flashboard\cmXNUMX\sourceampjeung SW.
- Pupus centang "Kecuali sumber tina ngawangun" dina C/C ++ Bangun> Setélan saatos ngaklik katuhu dina files 'nami sareng muka Properties pikeun ngamungkinkeun aranjeunna diwangun kana proyék éta.
- Ngarobah lulugu kaasup filengaranan sln_flash_config.h mun sln_flash_config_w25q256jvs.h di sln_flash_config.c jeung flexspi_nor_flash_ops.h.
- Setel sumber jam FlexSPI1 dina file clock_config.c ngarujuk kana aplikasi mesin kopi.
Tambahkeun adaptor sareng dukungan tingkat tengah
- Nyalin éta files sln_flash.c, sln_flash.h, sln_encrypt.c, jeung sln_encrypt.h salaku panggerak adaptor pikeun file sistem sareng aplikasi tina jalur pinter HMI\coffee_machine\cm7\source\ ka sumber folder mantanample. Ngamutahirkeun nu anyar files:
- Pupus centang "Kaluarkeun sumber tina ngawangun" dina aranjeunna pikeun ngawangun.
- Ngarobah sakabeh lulugu kaasup file ngaran sln_flash_config.h mun sln_flash_config_w25q256jvs.h.
- Salin polder fileSistim nu ngandung API pikeun saeutik filesistem jeung supir HAL ti pinter HMI \ coffee_machine \ cm7 \ sumber \ ka exampjeung SW. Sareng apdet pikeun folder énggal:
- Pupus centang "Kaluarkeun sumber tina ngawangun" dina éta pikeun ngawangun.
- Tambihkeun jalur kalebet dina setélan proyék: "${workspace_loc:/${ProjName}/filesistem}"
- Ngarobah lulugu kaasup file nami sln_flash_config.h kana sln_flash_config_w25q256jvs.h sareng fica_definition.h kana app_config.h dina file sln_flash_littlefs.h.
- Salin folder littlefs ngandung ware tengah - saeutik fileSistim tina jalur SDK_2_13_0_ MIMXRT1170-EVK\middleware\ ka exampjeung SW. Sareng ngapdet folder énggal:
- Pupus centang "Kaluarkeun sumber tina ngawangun" dina éta pikeun ngawangun.
- Tambihkeun jalur kalebet dina setélan proyék: "${workspace_loc:/${ProjName}/littlefs}"
Tambahkeun supir HAL
- Aya dua alat HAL - file sistem sareng database raray HAL dirojong pikeun fitur aksés database sareng aranjeunna parantos dilaksanakeun dina kerangka tanpa parobihan. Aktipkeun aranjeunna ku nambahkeun definisi di handap dina board_define.h:
- #define ENABLE_FLASH_DEV_Littlefs
- #define ENABLE_FACEDB
Jeung ngarobah ngaran database raray pikeun example: #define OASIS_FACE_DB_DIR "oasis_gui_face_rec"
Tambihkeun dukungan tingkat aplikasi
- Ngamutahirkeun utama file lvgl_gui_face_rec_cm7.cpp:
- Kaasup lulugu file patali jeung Flash file manajer sistem HAL ku nambahkeun garis kode: #include "fwk_flash.h"
- Nyatakeun tur ngadaptar file alat sistem HAL:
- HAL_FLASH_DEV_DECLARE(Littlefs);
- HAL_FLASH_DEV_REGISTER(Littlefs, ret);
Catetan: Anu file Sistim alat HAL kudu didaptarkeun saméméh sakabéh manajer alat nu initialized dina fungsi APP_InitFramework ().
- Nelepon fungsi BOARD_ConfigMPU () dina APP_BoardInit () pikeun config MPU.
- Nyetél file ngerjakeun sistem on Flash dina file app_config.h ku nangtukeun harti makro dipaké dina file sln_flash_littlefs.h:
- #define FICA_IMG_FILE_SYS_ADDR (FLASH_IMG_SIZE + RES_SHMEM_TOTAL_SIZE)
- #definisikeun FICA_FILE_SYS_SIZE (0x280000)
Konfigurasi
Sababaraha kode anu aya hubunganana sareng Flash dieksekusi di daérah SRAM ITC pikeun pagelaran anu cekap. Salin folder linkscripts ngandung konfigurasi linker ti jalur pinter HMI\coffee_machine\cm7\ ka ex.ampjeung SW.
Ngalaksanakeun aplikasi LVGL GUI
Ngembangkeun aplikasi LVGL GUI dumasar kana kerangka nyauran API tina kaluaran UI HAL sareng nyayogikeun API pikeun kaluaran UI HAL (Tingali Bagian 4.1.3 pikeun palaksanaan kaluaran UI HAL).
Tapi, palaksanaan lengkep tina aplikasi LVGL GUI gumantung kana sarat sareng desain aplikasi. Aplikasi GUI di ex ieuampLe dirancang sakumaha ditétélakeun dina awal bagian Bagian 4.
Di handap ieu bubuka palaksanaan:
- Kodeu ngaropéa dilaksanakeun dina custom.c jeung custom.h dibikeun ku GUI Guider salaku panganteur antara proyék GUI Guider jeung proyék sistem embedded.
- Tambahkeun fungsi anyar ngaranna gui_xxx() dina custom.c pikeun ngahontal fungsi handap:
- Pikeun kaluaran UI HAL sareng aplikasi GUI pikeun ngapdet UI.
- Pikeun aplikasi GUI pikeun memicu acara ku nelepon fungsi callback UI ti kaluaran UI HAL.
Pikeun example, fungsi anyar gui_event_face_rec_action () nelepon fungsi UI callback pikeun cecekelan salah sahiji acara pendaptaran raray, pangakuan beungeut jeung mupus pamaké dipicu tina aplikasi GUI nalika tombol patali diklik.
Catetan: Fungsi gui_set_virtual_face () disebut dina kaluaran UI HAL pikeun preview modeu perlu dilaksanakeun di custom.c:
- Clone fungsi gui_set_virtual_face () ti HMI pinter \ coffee_machine \ cm4 \ custom \ custom.c.
- Ganti ngaran widget home_img_cameraPreview ka screen_img_camera_preview dina fungsi.
- Laksanakeun fungsi callback UI sareng prototipe anu sami ka sadaya anu aya dina kaluaran UI HAL dina kadali definisi makro #ifndef RT_PLATFORM dina custom.c pikeun cocog sareng proyék GUI Guider sabab fungsi ieu dina kaluaran UI HAL gumantung kana platform dipasang. Dina custom.c, aranjeunna gumantung kana simulator on GUI guider sarta bebas kana platform embedded. Pikeun example, raray pendaptaran callback dilaksanakeun sakumaha di handap pikeun GUI Guider simulator ngajalankeun: #ifndef RT_PLATFORM batal UI_Registration_Callback () {gui_hide_del_user_btn (leres); s_InAction = palsu; mulang; }
Catetan: Tingal kana prototipe sarua fungsi diwanohkeun dina hambalan 6 Bagian 4.1.3
Harti makro RT_PLATFORM disetél dina setélan proyék MCUXpresso sapertos anu dipidangkeun dina Gambar 7: - Nyatakeun sagala fungsi ngaranna UI_xxx_Callback () jeung gui_xxx () dina custom.h jeung tambahkeun custom.h kaasup dina smart_tlhmi_event_descriptor.h pikeun babagi GUI API ka UI kaluaran HAL.
- Tambahkeun fungsi anyar ngaranna gui_xxx() dina custom.c pikeun ngahontal fungsi handap:
- Ngembangkeun GUI on GUI Guider:
- Kloning kaméra folder praview ngandung software proyék GUI Guider dina folder gui_guider dina paket software dasar lvgl_gui_camera_preview_cm7. Ganti ngaran nu patali camera_preview pikeun face_rec pikeun ex anyarample.
- Nyalin custom.c jeung custom nu diropéa di luhur. h kana software proyék GUI Guider anyar.
- Buka proyék face_rec anyar dina GUI Guider. Apdet sapertos di handap ieu:
- Tambahkeun tombol anyar dilabélan Hapus Pamaké. Tambihkeun bandéra Hidden ka dinya supados tombolna disumputkeun nalika aplikasi GUI dimimitian.
- Nambahkeun garis kode panggero API gui_event_face_rec_action () kalawan parameter ID acara béda dina "Dileupaskeun" pemicu dina Setélan Acara sadaya tombol Pendaftaran, Pangakuan sarta Hapus pamaké pikeun pemicu kajadian pendaptaran raray, pangakuan beungeut jeung mupus pamaké. Gambar 8 nunjukkeun kodeu pikeun acara tombol Pendaptaran:
- Apdet kodeu dihasilkeun tina GUI Guider kana proyék MCUXpresso.
- Ngaganti eusi iwal gambar folder dina folder dihasilkeun tina proyék MCUXpresso SW jeung nu pakait dina folder dihasilkeun tina GUI Guider proyék SW.
Catetan: Pikeun leuwih rinci ngeunaan modifikasi diwanohkeun di luhur, pariksa example software di https://mcuxpresso.nxp.com/appcodehub.
Verifikasi sareng mantanampproyék éta
Pikeun meunangkeun examppakét parangkat lunak anu ngandung sumber daya sareng alat pikeun catetan aplikasi ieu, kunjungan: https://mcuxpresso.nxp.com/appcodehub. Buka mantanampproyék le on MCUXpresso IDE. Ngawangun sarta program .axf file ka alamat 0x30000000 sareng program sumberdaya bin file camera_preview_resource.bin ka alamat 0x30800000.
The LVGL GUI beungeut pangakuan exampBiasana dianggo sapertos di handap ieu:
- Praview: Kalayan kakuatan up, aliran video nu direbut ku kaméra nembongkeun di wewengkon husus tina kaméra preview dina layar GUI. Label status mintonkeun "Praview…”. Pikeun detil, tingali Gambar 3. Tombol Hapus Pamaké disumputkeun. Nalika ngaklik daérah di luar tombol sareng gambar, éta nunjukkeun preview kaayaan sakumaha di luhur sanggeus pendaptaran beungeut atawa aksi pangakuan ends.
- Pendaptaran:
- tartup: Nalika tombol Pendaftaran diklik, pendaptaran beungeut dimimitian. Label status robah jadi mintonkeun "Pendaptaran...", sagi opat pituduh beungeut nembongkeun bulao, sarta bar kamajuan mimiti mintonkeun kamajuan. Pastikeun beungeut pamaké némbongkeun kana sagi opat pituduh beungeut biru keur pendaptaran.
- kasuksesan: Label status nunjukkeun "Pendaptaran…OK" sareng nomer ID pangguna anu kadaptar, sagi opat pituduh raray janten beureum upami pendaptaran raray suksés sateuacan kamajuan nunjukkeun pinuh dina bar.
- Gagal -> Waktos kaluar: Label status nunjukkeun "Pendaptaran…Waktu kaluar" upami pendaptaran wajah masih gagal nalika kamajuan nunjukkeun pinuh dina bar.
- Gagal -> Duplikasi: Label status nembongkeun "Pendaptaran...Gagal", sagi opat pituduh beungeut jadi hejo lamun beungeut nu kadaptar dipikawanoh saméméh kamajuan nembongkeun pinuh dina bar.
- ecognition:
- Ngamimitian: Nalika tombol Pangenal diklik, pangenal raray dimimitian. Label status robah jadi mintonkeun "Pangakuan...", sagi opat pituduh beungeut nembongkeun bulao, sarta bar kamajuan mimiti mintonkeun kamajuan. Pastikeun beungeut pamaké dipintonkeun kana sagi opat pituduh raray biru pikeun pendaptaran.
- kasuksesan: Label status nembongkeun "Pangakuan...OK" jeung nomer ID pamaké nu dipikawanoh, sagi opat pituduh beungeut jadi héjo lamun pangakuan beungeut suksés saméméh kamajuan nembongkeun pinuh dina bar. Dina titik, tombol Hapus Pamaké nembongan. Ieu ngandung harti yén pamaké diwenangkeun dihapus ngan lamun eta dipikawanoh.
- alur: Label status nembongkeun "Pangakuan...Waktu kaluar" lamun pangenal raray masih gagal nalika kamajuan nembongkeun pinuh dina bar.
- Hapus Pamaké: Nalika tombol "Hapus Pamaké" diklik, saatos pangenal raray suksés, labél statusna robih janten "Hapus Pamaké...OK" kalayan sagi opat pituduh raray janten bulao sareng kamajuan nunjukkeun pinuh dina bar. Tombol Hapus Pamaké disumputkeun deui. Beungeut / pangguna anu dikenal dihapus tina pangkalan data. Eta hartina beungeut/pamaké ieu teu bisa dipikawanoh nepi ka didaptarkeun deui.
Catetan ngeunaan kode sumber dina dokumen éta
ExampKodeu anu dipidangkeun dina dokumén ieu ngagaduhan hak cipta sareng lisénsi BSD-3-Clause:
Hak Cipta 2024 Redistribusi NXP sareng dianggo dina bentuk sumber sareng binér, nganggo atanapi henteu aya modifikasi, diijinkeun upami syarat-syarat ieu dicumponan:
- Distribusi ulang kode sumber kedah nahan bewara hak cipta di luhur, daptar kaayaan ieu sareng bantahan di handap ieu.
- Redistributions dina formulir binér kudu baranahan bewara hak cipta luhur, daptar kaayaan ieu jeung Bantahan handap dina dokuméntasi jeung / atawa bahan séjén kudu disadiakeun kalawan distribusi.
- Ngaran anu gaduh hak cipta atanapi nami kontributorna henteu tiasa dianggo pikeun ngesahkeun atanapi ngamajukeun produk anu diturunkeun tina parangkat lunak ieu tanpa idin tinulis khusus.
Parangkat lunak ieu disayogikeun ku Panyekel HAK CIPTA sareng kontributor "SA ADANYA" JEUNG HARANSI NYATA ATAU TERSIRAT, kalebet, TAPI TEU DIWATES KA, JAMINAN TERSIRAT SARENG DAGANG JEUNG KESESUAIAN PIKEUN TUJUAN TUNGGU. Dina hal naon wae nu boga hak cipta atawa kontributor bakal nanggungjawaban kana sadaya pikeun LANGSUNG, teu langsung, insidental, husus, exemplar, atawa karuksakan consequential (kaasup, tapi teu diwatesan ku, pengadaan barang gaganti, jasa, jasa, jasa; ATAWA GANGGUAN BISNIS) SAMBUNGAN NYAMBUNGKEUN JEUNG téori TANGGUNGJAWAB, MAH dina KONTRAK, TANGGUNG JAWAB SKETAT, ATAWA TORT (kaasup ngalalaworakeun atawa nu séjénna) Timbul ku naon waé cara kaluar tina pamakéan software ieu, komo lamun dirasakeun.
Riwayat révisi
Inpormasi hukum
Watesan
Draf - Status draf dina dokumen nunjukkeun yén eusi masih aya dina ulang internalview sarta tunduk kana persetujuan formal, nu bisa ngakibatkeun modifikasi atawa tambahan. NXP Semiconductors henteu masihan perwakilan atanapi jaminan ngeunaan katepatan atanapi kasampurnaan inpormasi anu kalebet dina draf vérsi dokumen sareng henteu ngagaduhan tanggung jawab pikeun akibat tina pamakean inpormasi sapertos kitu.
Bantahan
- jaminan kawates sarta liability - Inpormasi dina dokumén ieu dipercaya akurat sareng dipercaya. Nanging, NXP Semiconductors henteu masihan perwakilan atanapi jaminan, dinyatakeun atanapi tersirat, ngeunaan katepatan atanapi kasampurnaan inpormasi sapertos kitu sareng henteu ngagaduhan tanggung jawab pikeun akibat tina pamakean inpormasi sapertos kitu. NXP Semiconductors henteu nanggung jawab kana eusi dina dokumén ieu upami disayogikeun ku sumber inpormasi di luar NXP Semiconductors.
Dina sagala kajadian NXP Semikonduktor moal nanggungjawaban kana sadaya pikeun sagala karuksakan teu langsung, incidental, punitive, husus atawa consequential (kaasup - tanpa watesan -kauntungan leungit, tabungan leungit, gangguan bisnis, waragad patali ngaleupaskeun atawa ngagantian sagala produk atawa biaya rework) naha atanapi henteu karuksakan sapertos anu dumasar kana tort (kaasup lalawora), jaminan, breach tina kontrak atawa téori légal séjén.
Sanaos karusakan naon waé anu tiasa ditanggung ku nasabah pikeun alesan naon waé, tanggung jawab agrégat sareng kumulatif NXP Semiconductors ka konsumén pikeun produk anu dijelaskeun di dieu bakal diwatesan saluyu sareng Sarat sareng kaayaan penjualan komérsial NXP Semiconductors. - Hak nyieun parobahan - NXP Semiconductors ngagaduhan hak pikeun ngarobih inpormasi anu diémbarkeun dina dokumén ieu, kalebet tanpa watesan spésifikasi sareng déskripsi produk, iraha waé sareng tanpa aya bewara. Dokumén ieu ngagentos sareng ngagentos sadaya inpormasi anu disayogikeun sateuacan publikasi ieu.
- Cocog jeung pamakéan - Produk NXP Semiconductors henteu dirancang, otorisasi atanapi dijamin cocog pikeun dianggo dina pangrojong kahirupan, sistem atanapi alat anu kritis-hirup atanapi kritis-kaamanan, atanapi dina aplikasi dimana gagalna atanapi malfungsi tina produk NXP Semiconductors tiasa diperkirakeun nyababkeun tatu pribadi, maot atawa harta parna atawa karuksakan lingkungan. NXP Semiconductors jeung suppliers na teu nanggungjawaban kanggo inklusi jeung/atawa pamakéan produk NXP Semiconductors dina parabot atawa aplikasi misalna sahingga kaasup jeung/atawa pamakéan misalna aya dina resiko customer urang sorangan.
- Aplikasi - Aplikasi anu dijelaskeun di dieu pikeun salah sahiji produk ieu ngan ukur pikeun tujuan ilustrasi. NXP Semiconductors henteu masihan perwakilan atanapi garansi yén aplikasi sapertos kitu bakal cocog pikeun pamakean anu ditangtukeun tanpa tés atanapi modifikasi salajengna.
Konsumén nanggungjawaban kanggo desain sareng operasi aplikasi sareng produkna nganggo produk NXP Semiconductors, sareng NXP Semiconductors henteu nampi tanggung jawab pikeun bantosan aplikasi atanapi desain produk pelanggan. Éta mangrupikeun tanggung jawab palanggan pikeun nangtukeun naha produk NXP Semiconductors cocog sareng pas pikeun aplikasi sareng produk anu direncanakeun, ogé pikeun aplikasi anu direncanakeun sareng panggunaan palanggan pihak katilu. Konsumén kedah nyayogikeun desain anu pas sareng panyalindungan operasi pikeun ngaminimalkeun résiko anu aya hubunganana sareng aplikasi sareng produkna. NXP Semiconductors henteu nampi tanggung jawab naon waé anu aya hubunganana sareng standar, karusakan, biaya atanapi masalah anu didasarkeun kana kalemahan atanapi standar dina aplikasi atanapi produk palanggan, atanapi aplikasi atanapi dianggo ku palanggan pihak katilu. Palanggan tanggung jawab pikeun ngalakukeun sagala tés anu dipikabutuh pikeun aplikasi sareng produk palanggan nganggo produk NXP Semiconductors pikeun ngahindarkeun standar tina aplikasi sareng produk atanapi aplikasi atanapi dianggo ku palanggan pihak katilu. NXP henteu nampi tanggung jawab dina hal ieu. - Sarat jeung kaayaan diobral komérsial - Produk NXP Semiconductors dijual tunduk kana sarat umum sareng kaayaan diobral komérsial, sakumaha diterbitkeun di https://www.nxp.com/profile/ istilah, iwal mun disebutkeun sapuk dina perjangjian individu ditulis valid. Bisi hiji perjangjian individu disimpulkeun ngan sarat jeung kaayaan perjangjian masing-masing bakal nerapkeun. NXP Semiconductors ku ieu sacara nyata ngabantah pikeun nerapkeun syarat sareng kaayaan umum palanggan ngeunaan mésér produk NXP Semiconductors ku palanggan.
- kontrol ékspor - Dokumén ieu sareng barang-barang anu dijelaskeun di dieu tiasa tunduk kana peraturan kontrol ékspor. Ékspor tiasa meryogikeun otorisasi sateuacana ti otoritas kompeten.
- Cocog pikeun dianggo dina produk mumpuni non-otomotif - Kacuali dokumén ieu nyatakeun yén produk NXP Semiconductors khusus ieu mumpuni pikeun otomotif, produk éta henteu cocog pikeun panggunaan otomotif. Éta henteu mumpuni atanapi henteu diuji saluyu sareng tés otomotif atanapi syarat aplikasi. NXP Semiconductors henteu nanggung tanggung jawab pikeun kalebet sareng / atanapi nganggo produk mumpuni non-otomotif dina alat atanapi aplikasi otomotif.
Upami palanggan nganggo produk pikeun desain-in sareng dianggo dina aplikasi otomotif pikeun spésifikasi sareng standar otomotif, palanggan (a) kedah nganggo produk tanpa jaminan produk NXP Semiconductors pikeun aplikasi, panggunaan sareng spésifikasi otomotif sapertos kitu, sareng ( b) iraha waé palanggan nganggo produk pikeun aplikasi otomotif saluareun spésifikasi NXP Semiconductors 'pamakéan sapertos kitu kedah janten résiko palanggan nyalira, sareng (c) nasabah pinuh indemnifies NXP Semiconductors pikeun tanggung jawab naon waé, karusakan atanapi klaim produk anu gagal hasil tina desain palanggan sareng panggunaan produk pikeun aplikasi otomotif saluareun jaminan baku NXP Semiconductors sarta spésifikasi produk NXP Semiconductors. - Tarjamahan — Versi non-Inggris (tarjamahan) tina dokumén, kalebet inpormasi hukum dina dokumén éta, ngan ukur pikeun rujukan. Versi Inggris bakal lumaku upami aya bédana antara versi anu ditarjamahkeun sareng Inggris.
- Kaamanan - Pelanggan ngartos yén sadaya produk NXP tiasa tunduk kana kerentanan anu teu dipikanyaho atanapi tiasa ngadukung standar atanapi spésifikasi kaamanan anu ditetepkeun sareng watesan anu dipikanyaho. Palanggan tanggung jawab pikeun desain sareng operasi aplikasi sareng produk na sapanjang siklus hirupna pikeun ngirangan pangaruh kerentanan ieu dina aplikasi sareng produk palanggan. Tanggung jawab palanggan ogé ngalegaan ka téknologi terbuka sareng/atawa proprietary sanés anu dirojong ku produk NXP pikeun dianggo dina aplikasi palanggan. NXP henteu nampi tanggung jawab pikeun kerentanan naon waé. Konsumén kedah rutin pariksa apdet kaamanan ti NXP sareng nuturkeun anu leres. Palanggan kedah milih produk anu gaduh fitur kaamanan anu paling cocog sareng aturan, peraturan, sareng standar tina aplikasi anu dimaksudkeun sareng ngadamel kaputusan desain pamungkas ngeunaan produkna sareng tanggung jawab pikeun patuh kana sagala syarat hukum, pangaturan, sareng kaamanan ngeunaan produkna, henteu paduli. tina sagala informasi atawa rojongan nu bisa disadiakeun ku NXP.
NXP gaduh Tim Tanggapan Kajadian Kaamanan Produk (PSIRT) (bisa dihontal di PSIRT@nxp.com) anu ngatur panalungtikan, ngalaporkeun, sareng ngaleupaskeun solusi pikeun kerentanan kaamanan produk NXP.
NXP BV - NXP BV sanes perusahaan operasi sareng henteu ngadistribusikaeun atanapi ngajual produk.
mérek dagang
Bewara: Sadaya merek anu dirujuk, nami produk, nami jasa, sareng mérek dagang mangrupikeun hak milik anu gaduhna.
NXP — wordmark sareng logo mangrupikeun mérek dagang 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 — nyaéta mérek dagang jeung/atawa mérek dagang kadaptar ti Arm Limited (atawa anak perusahaan atawa afiliasina) di AS jeung/atawa di tempat séjén. Téknologi anu aya hubunganana tiasa ditangtayungan ku salah sahiji atanapi sadayana patén, hak cipta, desain sareng rahasia dagang. Sadaya hak disimpen.
- i.MX - mangrupakeun mérek dagang ti NXP BV
- J-Tumbu - mangrupakeun mérek dagang ti SEGGER Microcontroller GmbH.
Microsoft, Azure, sareng ThreadX - mangrupikeun mérek dagang tina grup perusahaan Microsoft.
Punten perhatikeun yén béwara penting ngeunaan dokumén ieu sareng produk (s) anu dijelaskeun di dieu, parantos kalebet dina bagian 'Inpormasi Hukum'.
© 2024 NXP BV
Kanggo inpo nu leuwih lengkep, mangga buka: https://www.nxp.com
- Tanggal kaluaran: 19 April 2024
- Dokumén identifier: AN14263
FAQ
Q: Naon tujuan utama produk ieu?
A: Tujuan utama nyaéta pikeun ngaktifkeun fungsi pangenal raray nganggo modél algoritma visi AI&ML kalayan ex GUI LVGL basajan.ample on dewan SLN-TLHMI-IOT.
Q: Kumaha pamekar tiasa nyandak kauntungan tina catetan aplikasi ieu?
A: Pamekar tiasa diajar kumaha nerapkeun pangenal raray dina kerangka léngkah-léngkah nganggo conto anu disayogikeunample na ngartos manajer alat, alat HAL, sarta mékanisme acara aub.
Dokumén / Sumberdaya
![]() |
NXP AN14263 Nerapkeun LVGL GUI Pangenalan raray dina Framewor [pdf] Pituduh pamaké AN14263 Nerapkeun LVGL GUI Face Recognition on Framewor, AN14263, Nerapkeun LVGL GUI Face Recognition on Framewor, LVGL GUI Face Recognition on Framewor, Face Recognition on Framewor, Recognition on Framewor, Framewor |