NXP AN14263 Aiwatar da Gane Fuskar LVGL GUI akan Framewor
Bayanin samfur
Ƙayyadaddun bayanai
- Sunan samfur: Gane Fuskar LVGL GUI akan Tsarin
- Gyara daftarin aiki: Afrilu 1-19, 2024
- Mahimman kalmomi: Gane fuska, LVGL GUI, Tsarin
Umarnin Amfani da samfur
- Ƙarsheview
Wannan samfurin yana ba da damar samfurin hangen nesa na AI&ML don gano fuska akan tsari don aiwatar da aikin tantance fuska tare da sauƙi na LVGL GUI ex.ample a kan allon SLN-TLHMI-IOT. - Tsarin Ƙarsheview
An tsara software ɗin mafita a kusa da tsarin gine-gine wanda ya haɗa da masu sarrafa na'urori da ke da alhakin sarrafa na'urori, na'urorin HAL don ƙaddamar da cikakkun bayanai, da abubuwan da suka faru don sadarwa tsakanin na'urori daban-daban. - Siffofin
Samfurin yana ba da damar aiwatar da aikin tantance fuska ta hanyar kyamarar kyamaraview akan allon GUI tare da maɓalli don jawo rajistar fuska, ganewa, da cirewa. Ana adana bayanan fuska mai rijista akan Flash ta hanyar a file tsarin. - Abubuwan Bayanin Aikace-aikacen
Bayanin aikace-aikacen yana gabatar da allon LVGL GUI tare da pre-cameraview da maɓalli don ayyukan da suka shafi fuska. Yana taimaka wa masu haɓakawa su fahimci tsarin da yadda ake aiwatar da tantance fuska ta amfani da tsohon da aka bayarample.
Ƙarsheview
NXP ta ƙaddamar da kayan haɓaka mafita mai suna SLN-TLHMI-IOT wanda ke mai da hankali kan aikace-aikacen HMI masu wayo. Yana ba da damar HMI mai wayo tare da hangen nesa ML, murya, da zane-zane UI da aka aiwatar akan NXP i.MX RT117H MCU guda ɗaya. Dangane da SDK, an gina software na mafita akan ƙirar da ake kira tsarin da ke goyan bayan ƙira masu sassauƙa da gyare-gyaren hangen nesa da ayyukan murya. Don taimaka wa masu amfani don amfani da dandalin software mafi kyau, ana ba da wasu takaddun asali, misaliample, jagorar ci gaban software. Jagoran ya gabatar da ƙirar software na asali da tsarin gine-gine na aikace-aikacen da ke rufe duk abubuwan da ke cikin bayani ciki har da tsarin don taimakawa masu haɓakawa da sauƙi da kuma aiwatar da aikace-aikacen su ta amfani da SLN-TLHMI-IOT.
Don ƙarin cikakkun bayanai game da mafita da takaddun da suka dace, ziyarci web shafi na NXP EdgeReady Smart HMI Magani Bisa i.MX RT117H tare da ML Vision, Voice, and Graphical UI. Koyaya, har yanzu ba abu ne mai sauƙi ga masu haɓakawa su aiwatar da aikace-aikacen su na HMI masu wayo waɗanda ke nufin waɗannan jagororin na asali. An tsara jerin bayanan aikace-aikacen don taimakawa nazarin ci gaba akan tsarin mataki-mataki. Wannan bayanin kula na aikace-aikacen ya dogara ne akan Aiwatar da LVGL GUI Kamara Preview akan Tsarin (takardun AN14147). Wannan bayanin kula na aikace-aikacen yana bayyana yadda ake ba da damar samfurin hangen nesa na AI&ML don tantance fuska akan tsarin aiwatar da aikin tantance fuska ta hanyar kyamarar gaba.view akan allon GUI tare da sauƙi LVGL GUI example a kan allon SLN-TLHMI-IOT. A cikin bayanin aikace-aikacen, example yana gabatar da allon LVGL GUI tare da pre-cameraview da wasu maɓallan don jawo rajistar fuska, ganewa, da cirewa. Ana adana bayanan fuskar da aka yiwa rajista akan Flash ta ɗan kadan file tsarin.
A babban matakin, bayanin kula na aikace-aikacen ya ƙunshi abubuwan da ke ƙasa:
- Kunna fasalin gane fuska akan tsarin.
- Ƙara tallafin bayanan fuska akan tsarin ta hanyar file tsarin a kan Flash.
- Aiwatar da LVGL GUI app. Ta hanyar gabatarwar da ke sama, wannan takaddar tana taimaka wa masu haɓakawa zuwa:
- Fahimtar tsarin da software mai wayo na HMI mafi zurfi.
- Haɓaka sanin fuskar su ta AI&ML akan tsari tare da ƙa'idar LVGL GUI.
Tsarin ya ƙareview
An tsara software na mafita da farko ta hanyar amfani da tsarin gine-gine wanda ya ƙunshi sassa daban-daban:
- Manajojin na'ura - ainihin ɓangaren
- Na'urorin Abstraction Layer (HAL).
- Saƙonni/Abubuwa
Kamar yadda aka nuna a Figure 1, overview na tsarin tsarin shine:
Manajojin na'ura suna da alhakin sarrafa na'urorin da tsarin ke amfani da su. Kowane nau'in na'ura (input, fitarwa, da sauransu) yana da takamaiman nau'in sarrafa na'urar. Tare da mai sarrafa na'ura yana farawa bayan an yi rajistar na'urorin zuwa gare shi, yana jira yana duba saƙo don canja wurin bayanai zuwa na'urori da sauran manajoji bayan farawa da fara na'urorin da aka yi rajista. An rubuta na'urorin HAL a saman ƙananan lambar direba, suna taimakawa haɓaka fahimtar lambar ta hanyar ɓoye yawancin bayanan da ke ƙasa.
Abubuwan da suka faru hanya ce ta hanyar sadarwar bayanai tsakanin na'urori daban-daban ta hanyar masu sarrafa su. Lokacin da abin ya faru, na'urar da ta fara karɓar taron tana sanar da wannan taron ga manajanta, sannan ta sanar da sauran manajojin da aka zaɓa don karɓar taron.
Tsarin gine-ginen tsarin ya dogara ne akan manufofin farko guda uku:
- Sauƙin amfani
- Sassauci/Aikin iyawa
- Ayyuka
An tsara tsarin tare da manufar hanzarta lokacin kasuwa don hangen nesa da sauran aikace-aikacen koyon injin. Don tabbatar da saurin lokacin kasuwa, yana da mahimmanci cewa software kanta tana da sauƙin fahimta da gyarawa. Tsayawa wannan burin a hankali, tsarin gine-ginen yana da sauƙi don gyarawa ba tare da ƙuntatawa ba, kuma ba tare da zuwan farashin aiki ba.
Don ƙarin cikakkun bayanai game da tsarin, duba Jagorar Mai Amfani da Ci gaban Software na Smart HMI (takardar MCU-SMHMI-SDUG).
Laburaren Zane mai Haskaka da Maɗaukaki (LVGL)
LVGL (Laburaren Laburaren Zane-zanen Haske da Mai Yawaita) ɗakin karatu ne mai buɗewa kyauta kuma mai buɗewa yana ba da duk abin da kuke buƙata don ƙirƙirar GUI da aka haɗa tare da abubuwa masu sauƙin amfani da hoto, kyawawan tasirin gani da ƙarancin sawun ƙwaƙwalwa.
GUI Guider
GUI Guider kayan aiki ne na haɓaka ƙirar ƙirar mai amfani mai hoto mai sauƙin amfani daga NXP wanda ke ba da damar haɓaka haɓakar manyan nunin nuni tare da buɗe ɗakin karatu na zane-zane na LVGL. Editan ja-da-jigon GUI Guider yana sauƙaƙa don amfani da fasalulluka da yawa na LVGL kamar widget, raye-raye, da salo don ƙirƙirar GUI tare da ƙaramin ko ƙididdigewa kwata-kwata.
Tare da danna maɓalli, zaku iya gudanar da aikace-aikacenku a cikin yanayin da aka kwaikwayi ko fitar dashi zuwa aikin da aka yi niyya. Ƙirƙirar lambar daga Jagorar GUI za a iya ƙarawa cikin sauƙi zuwa aikinku, haɓaka aikin haɓakawa da ba ku damar ƙara ƙirar mai amfani a cikin aikace-aikacenku ba tare da matsala ba. GUI Guider yana da kyauta don amfani tare da NXP's general nufi da crossover MCUs kuma ya haɗa da ginanniyar ƙirar aikin don dandamali masu tallafi da yawa. Don ƙarin koyo game da ci gaban LVGL da GUI akan Jagorar GUI, duba Haske da Laburaren Zane-zane da Jagorar GUI.
Yanayin ci gaba
Da farko, shirya kuma saita yanayin hardware da software don aiwatar da tsohonample a kan tsarin.
Hardware muhalli
An saita yanayin kayan aiki don tabbatar da tsohonampda:
- Kayan haɓaka HMI mai kaifin baki dangane da NXP i.MX RT117H (kit ɗin SLN_TLHMI_IOT)
- SEGGER J-Link tare da adaftar Cortex-M 9-pin da V7.84a ko sabon sigar direba
Yanayin software
An saita yanayin software don haɓaka tsohonampda:
- MCUXpresso IDE V11.7.0
- GUI Jagorar V1.6.1-GA
- lvgl_gui_camera_preview_cm7 - misaliampLe code na na biyu aikace-aikace bayanin kula a matsayin tushen software na ci gaba. Don cikakkun bayanai, duba https://mcuxpresso.nxp.com/appcodehub.
- RT1170 SDK V2.13.0 - a matsayin albarkatun lambar don haɓakawa.
- SLN-TLHMI-IOT software V1.1.2 - lambar tushe mai wayo ta HMI da aka saki akan ma'ajin NXP GitHub azaman tushen lambar don haɓakawa. Don cikakkun bayanai, duba: GitHub - NXP/mcu-smhmi a v1.1.2
Don cikakkun bayanai game da siye da saitin yanayin software, duba: Farawa tare da SLN-TLHMI-IOT.
Gine-ginen hangen nesa akan tsarin
An nuna tsarin gine-ginen hangen nesa a cikin hoto na 2. Algo na hangen nesa HAL (OASIS_HAL) yana da matakai masu zuwa:
- Yi rajistar fuska da fitarwa ta hanyar ƙirar hangen nesa na AI&ML bayan karɓar abubuwan da suka shafi abubuwan da suka faru daga fitowar UI HAL. Sanar da sakamakon ƙaddamarwa daga ƙirar algorithm zuwa fitarwa na UI HAL.
- Samun shiga (ƙara, sharewa…) bayanan fasalin fasalin fuska dangane da kaɗan file tsarin ta hanyar kiran APIs na FaceDB HAL bayan karɓar abubuwan da suka shafi abubuwan da suka faru daga fitowar UI HAL.
- Nemi firam ɗin bidiyo na kamara daga HAL ɗin kamara lokacin yin rijistar fuska da ganewa.
Aiwatar da fuskar fuska akan tsarin
Gano fuskar LVGL GUI example (example aka bayar daga baya) a kan tsarin da aka aiwatar bisa ga exampLambobin Aiwatar da LVGL GUI Kamara Preview akan Tsarin (takardun AN14147).
Domin nuna sanin fuska a cikin tsohonample, ainihin aikin GUI app (duba babban allo a hoto 3) an tsara shi kamar yadda aka bayyana a ƙasa:
- GUI app yana haifar da rajistar fuska ko taron ganowa zuwa fitarwa na UI HAL lokacin danna maɓallin Rijista ko Ganewa. Kuma fitarwa ta UI HAL tana sanar da taron ƙara mai amfani zuwa ga hangen nesa algo HAL bayan rajistar fuska ya yi nasara.
- GUI app yana haifar da taron share mai amfani zuwa fitarwa na UI HAL lokacin danna maɓallin Share User bayan an gane fuskar mai amfani.
- GUI app yana haifar da taron dakatar da oasis algo yana gudana zuwa fitarwa UI HAL lokacin danna allon a waje da maɓalli da hotuna.
Shirya kunshin software don aiwatar da example.
- Clone tushen software lvgl_gui_camera_preview_cm7 ku. Canja sunan aikin da babban filesuna zuwa lvgl_gui_face_rec_cm7.
- Ana buƙatar sabunta tsarin a cikin software kamar yadda lambobin tushe na tushen tsarin suka fara zama jama'a akan GitHub daga sigar 1.1.2.
- Sauya babban fayil ɗin tsarin tare da kwafin V1.1.2 daga GitHub sai dai files fwk_log.h da fwk_common.h karkashin inc kamar yadda aka gyara su don jerin bayanan aikace-aikacen. Ana nuna ayyukan a cikin hoto 4:
- Share babban fayil framework_cm7 a ƙarƙashin ƙungiyar libs kuma cire tsarin ɗakin karatu_cm7 da hanyar binciken da aka saita a cikin Project> Kayayyakin> C / C ++ Gina> Saituna> Saitunan Kayan aiki> MCU C ++ Linker> Laburaren tun lokacin da aka samar da lambar tushe na ainihin.
Kunna fasalin gano fuska akan tsari
An gina fasalin gane fuska akan ƙirar hangen nesa na ML wanda aka bayar azaman ɗakin karatu na tsaye - ɗakin karatu na oasis lite runtime ta NXP. Laburaren ƙaramin ɗakin karatu ne, ingantaccen aiki, wanda aka keɓance shi, kuma ingantaccen ɗakin karatu na AI. Samfurin ya haɗa da gano fuska, gane fuska, gano gilashi, da gano rayuwa. Yana samar da API OASISLT_run_extended() don gudanar da bututun gano fuska yayin sabunta sakamako ga mai kira ta hanyar sake kiran taron, da ƙara / sabunta/ share fuskoki a cikin ma'ajin bayanai ta hanyar dawo da bayanan bayanan bayanan bayan an ƙididdige bayanan firam ɗin tushe, sake kiran waya, da ƙwaƙwalwar ajiya. tafkin da ɗakin karatu ke amfani da shi ta hanyar kiran wani API OASISLT_init() akan farawa. Ana aiwatar da kiran APIs da ayyukan kira a cikin hangen nesa algo HAL na tsarin.
Ƙara vision algo model library
- Kwafi oasis babban fayil ɗin da ke ɗauke da ɗakin karatu da abin da ke da alaƙa file daga smart HMI \coffee_machine \ cm7 \ libs \ cikin babban fayil libs na tsohonampda SW.
- Ƙara hanyar bincike na taken file a cikin Project> Properties> C/C++ Gina> saituna> Kayan aiki Saituna> MCU C compiler> Ya haɗa da MCU C++ compiler> Ya haɗa da: "${workspace_loc:/${ProjName}/libs/oasis/include}"
- Ƙara lib da hanyar binciken sa akan Project> Kayayyakin> Gina C/C++> Saituna> MCU C+ + Linker> Libraries: liboasis_lite2D_DEFAULT_117f_ae.a "${workspace_loc:/${ProjName}/libs/oasis}" da macro ma'anar zuwa kunna fasalin akan Project> Properties> C / C ++ Gina> Saituna> Kayan aiki Saituna> MCU C mai tarawa> Preprocessor da MCU C ++ mai tarawa> Preprocessor: SMART_TLHMI_2D
Kunna hangen nesa algo HAL
Halin algo HAL yana tafiyar da samfurin algo na hangen nesa don aiki kuma yana amsa sakamakon zuwa UI fitarwa HAL bayan karɓar abubuwan da suka faru daga gare ta.
Don kunna shi, clone da wanzuwar direban HAL mai kama file inda ake aiwatar da ayyuka na ƙasa:
- Aiwatar da koma baya na ayyukan bayanan bayanan fuska da sarrafa abubuwan da suka faru.
- Fitar da algo hangen nesa zuwa aiki ta hanyar kiran APIs na ɗakin karatu na oasis.
- Samun damar bayanan bayanan fuskar mai amfani da bayanan app (ba a buƙatar shi a cikin tsohonample).
- Karɓi abubuwan da suka faru daga kuma aika sakamako zuwa fitarwa UI HAL.
Manyan ayyuka don aiwatar da HAL ga exampda su:
- Kashe direban HAL mai kama file kuma canza sunaye masu alaƙa.
- Cire lambobin da ke da alaƙa da ayyukan bayanan ƙa'idar.
- Sabunta ma'anoni da ayyuka don gudanar da abubuwan da suka faru daga fitowar UI HAL da tsohonampzane.
- Ƙara saitunan da ake buƙata a farkon oasis.
Cikakken matakan sune kamar haka:
- Clone hal_vision_algo_oasis_coffeemachine.c. Canza filesuna zuwa hal_vision_algo_oasis_guifacerec.c. Kuma maye gurbin duk kirtani CoffeeMachine tare da GUIFAceRec a cikin file.
- Cire lambobin da ke ɗauke da kirtani coffeedb (ba mai hankali ba) masu alaƙa da bayanan ƙa'idar, misaliample, #hada da hal_sln_coffeedb.h.
- Gyara aikin HAL_VisionAlgoDev_OasisGUIFAceRec_InputNotify() don sarrafa abubuwan da suka faru daga fitarwa na UI HAL.
- Canja ma'anar taron kEventFaceRecId_RegisterCoffeeZaɓin zuwa kEventFaceRecId_RegisterUserFace da tsarin tsarin regCoffeeSelection zuwa regGUIFAceRec don gudanar da taron don ƙara sabbin bayanan fasalin fuska a ma'ajin bayanai.
- Don nuna daidaitaccen tsari na ayyukan gane fuska a cikin example, gyara yadda ake gudanarwa cikin yanayin kEventFaceRecID_OasisSetState tare da ma'anar jihohi:
- kOASISliteState
- Rajista kOASISliteState
- Gane kOASISliteState
- Tsaya
- Ƙara ku gyara ma'anar abubuwan da aka ambata a matakin da ke sama.
- Kwafi taken file smart_tlhmi_event_descriptor.h daga smart HMI \coffee_machine \cm7\source\event_handlers\ cikin babban fayil tushen tsohonampda SW. Sabunta da file kamar yadda a kasa:
- Canza ma'anar taron kEventFaceRecId_RegisterCoffeeZaɓan zuwa kEventFaceRecId_RegisterUserFace a cikin nau'in enum_event_smart_tlhmi_id da tsarin kirtani regCoffeeZaɓa zuwa regGUIFAceRec a cikin tsarin _event_smit. Don haka, canza tsarin register_coffee_selection_event_t don regCoffeeSelection zuwa rijista_gui_facerec_event_t.
- Share sauran abubuwan da aka yi amfani da su don injin kofi, misaliample, layin lambar game da murya: #haɗa "hal_event_descriptor_voice.h".
- Ƙara nau'ikan kOASISliteState_Stopped da kOASISliteState_Gudun zuwa nau'in enum oasis_lite_state_t a cikin hal_vision_algo.h ƙarƙashin tsarin>hal> hangen nesa a cikin aikin kamar ƙasa:
typedef enum _oasis_lite_state {- kOASISliteState
- Gudu, kOASISliteState
- Dakata, kOASISliteState
- Ganewa,
- kOASISliteState
- Rajista, kOASISliteState
- Rage rajista, kOASISliteState
- Rajistar nesa, kOASISliteState
- Kidaya
- Yi amfani da tsarin da aka sabunta na sama oasis_lite_state_t don tsaftace tsarin oasis_state_event_t a cikin hal_event_descriptor_face_rec.h karkashin tsarin>hal> hangen nesa a cikin aikin kamar yadda ke ƙasa: tsarin typedef _oasis_state_event_t {oasis_lite_state_t state; } oasis_state_event_t;
- Canja duk kEventInfo_Remote zuwa kEventInfo_Local don aika abubuwan da suka faru daga hangen nesa algo HAL zuwa sauran HALs da ke gudana akan cibiya guda ɗaya maimakon guda ɗaya maimakon dual-core ana amfani dashi a cikin tsohon.ample.
- Ƙara kuma gyara abubuwan da ke ƙasa don ƙaddamarwar oasis a cikin OASISLT_init():
- Ƙara ma'anar macro da sassan ƙwaƙwalwar ajiya don firam ɗin bidiyo a cikin board_define.h: #define OASIS_RGB_FRAME_WIDTH 800
- # ayyana OASIS_RGB_FRAME_HEIGHT 600
- # ayyana OASIS_RGB_FRAME_SRC_FORMAT kPixelFormat_YUV1P444_RGB
- # ayyana OASIS_RGB_FRAME_BYTE_PER_PIXEL 3
- # ayyana AT_FB_SHMEM_SECTION_ALIGN(var, alignbytes) \
- __siffar__((sashe (".bss.$fb_sh_mem,\"aw\",%nobits @"))) var
- __siffar__((aligned (alignbytes)))
- Sanya aikin ƙwaƙwalwar ajiya zuwa sashin ƙwaƙwalwar ajiya na sama fb_sh_mem akan Project> Kayayyaki> Gina C/C++> Saitunan MCU da aka nuna a Hoto 5:
- Ƙayyade m duniya g_DTCOPBuf a cikin lvgl_gui_face_rec_cm7.cpp: AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf[DTC_OPTIMIZE_BUFFER_SIZE], 4);
- Ci gaba da ƙara ma'anar da aka yi amfani da su a cikin ma'auni na sama:
- Ƙayyade sashin da ke sama a cikin board_define.h:
- # ayyana AT_NONCACHEABLE_SECTION_ALIGN_DTC(var, alignbytes) \
- sifa__((banshi (".bss.$SRAM_DTC_cm7,\"aw\",%nobits @"))) var
- sifa__((aligned (alignbytes)))
- Haɗa kan taken file hal_vision_algo.h mai dauke da ma'anar macro DTC_OPTIMIZE_BUFFER_SIZE a cikin app_config.h wanda aka haɗa cikin lvgl_gui_face_rec_cm7.cpp.
- Ƙara ma'anar macro da sassan ƙwaƙwalwar ajiya don firam ɗin bidiyo a cikin board_define.h: #define OASIS_RGB_FRAME_WIDTH 800
- Saita madaidaicin s_debugOption zuwa gaskiya don nuna matsayin ci gaba akan fuskar fuska.
- Ƙara hanyar bincike na taken files na hangen nesa HAL akan Project> Properties> C/C ++ Gina> saituna> Kayan aiki Saituna> MCU C mai tarawa> Ya haɗa da MCU C ++ mai tarawa> Ya haɗa da: “${workspace_loc:/${ProjName}/framework/hal/vision}”
- Ƙara ma'anar da ke ƙasa don kunna hangen nesa algo HAL a cikin board_define.h: #define ENABLE_VISIONALGO_DEV_Oasis_GUIFAceRec
Kunna fitarwa UI HAL
Fitarwa UI HAL yana sanar da abubuwan da suka faru zuwa ga hangen nesa algo HAL kuma yana amsa sakamakon ƙima daga hangen nesa algo HAL. Tare da aikace-aikacen GUI, ƙa'idodin gabaɗaya suna haifar da abubuwan da suka faru kuma ana nuna sakamakon akan ƙa'idar.
Don kunna shi, clone da wanzuwar direban HAL mai kama file inda gabaɗaya ana aiwatar da ayyukan da ke ƙasa:
- Sanar da abubuwan da suka faru don gane fuska da samun damar bayanai.
- Aiwatar da sake kira ga GUI app don jawo abubuwan da suka faru.
- Karɓar sakamakon ƙima daga ƙirar algo hangen nesa.
- Nuna tsari da sakamakon abubuwan da suka faru a kan UI ta hanyar sandar ci gaba da aka sarrafa tare da masu ƙidayar lokaci da fuskar jagorar murabba'i.
Manyan ayyuka don aiwatar da HAL ga exampAbubuwan da ake amfani da su a cikin wannan takarda sune:
- Kashe direban HAL mai kama file kuma canza sunaye masu alaƙa.
- Cire lambobin da ke da alaƙa da ƙa'idar.
- Sabunta ayyuka don sanarwar abubuwan da suka faru da martanin sakamako na tsohonampzane.
- Ƙara sake kira ga GUI app don jawo abubuwan da suka faru.
Cikakken matakan sune kamar haka:
- Clone hal_output_ui_coffee_machine.c. Canza filesuna zuwa hal_ fitarwa_ui_guifacerec.c.
- Sauya duk kirtani CoffeeMachine tare da GUIFAceRec a cikin file.
- Cire lambobin da ke da alaƙa da ƙa'idar - injin kofi.
- Cire ayyukan WakeUp() da _StandBy() da lambobi masu alaƙa (na iya bincika kirtani wake_up da jiran aiki a gare su).
- Cire preview yanayin abubuwan da suka faru suna sarrafa lambobin da ke da alaƙa a cikin HAL_OutputDev_UiGUIFAceRec_Input Notify().
- Cire ayyukan UI_xxx_Callback() da lambobin da ke ɗauke da gui_ kirtani da allon da ke da alaƙa da GUI na injin kofi ban da gui_set_virtual_face() na farko.view yanayin yanayin.
- Cire duk lambobin da ke da alaƙa da masu canji s_IsWaitingAnotherSelection da s_IsWaitingRegisterSelection mai alaƙa da ƙa'idar injin kofi.
- Cire lambobin da ke da alaƙa da murya, sauti, da harshe. Domin misaliampda:
- #hade "hal_voice_algo_asr_local.h",
- #haɗa "haɗin_haɗin_haɗin_haɗin_murya.h"
- Don sanarwar abubuwan da suka faru daban-daban, aiwatar da sabbin ayyuka _OutputManagerNotify(), _SetFaceRec(), _RegisterGUIFAceRec(), da DeregisterGUIFAceRec() suna nufin ayyukan _StopFaceRec (), _RegisterCoffeeSelection (), da DeregisterCoffeeSlection kafin zaɓen su.
- _OutputManagerNotify() yana aiwatar da ainihin aikin fitowar taron don aika wani taron zuwa ga hangen nesa algo HAL. Ayyukan da ke ƙasa suna kiran shi don aika abubuwan da suka faru.
- _SetFaceRec() yana aika taron kEventFaceRecID_OasisSetState don kunna algo na hangen nesa don rajistar fuska, ganewa, da dakatar da algo.
- _RegisterGUIFAceRec() yana aika taron kEventFaceRecId_RegisterGUIFAceRec wanda aka ayyana a cikin smart_tlhmi_event_descriptor.h don ƙara bayanan fasalin fuska zuwa ma'ajin bayanai lokacin rajista yayi kyau.
- DeregisterGUIFAceRec() yana aika taron kEventFaceRecID_DelUser don share bayanan fasalin fuska daga ma'ajin bayanai lokacin wucewa ta fuskar fuska.
- Sabunta lambobin don ɗaukar matakan da suka dace gami da sabunta GUI ta hanyar kiran APIs daga aikace-aikacen LVGL GUI don sakamakon ƙima na rajistar fuska da kuma ganewa a cikin aikin _InferComplete_Vision() na tsohonampmu zane. Don misaliample, lokacin da rajistar fuska ta yi nasara,
- Dakatar da nuna ci gaba ta hanyar kiran _FaceRecProcess_Stop();
- Dakatar da rajistar fuska ta hanyar kiran _SetFaceRec(kOASISliteState_Stopped);
- Nuna sakamakon nasara akan GUI: gui_show_face_rec_result(kFaceRecResult_OK, s_UserId);
- Yi rijistar bayanan fuska zuwa bayanan bayanai: _RegisterUserFace(s_UserId);
- Ƙara ayyukan sake kiran UI don gudanar da abubuwan da suka faru: kafinview, rijistar fuska, ganewa, da share mai amfani da aka jawo daga GUI. Don misaliample, sake kiran rajistar fuskar: UI_Registration_Callback mara amfani () {_SetFaceRec(kOASISliteState_Registration); _FaceRecProcess_Start(); }
- Kuma ƙara ayyuka _FaceRecProcess_Start() da _FaceRecProcess_Stop() don nuna ci gaba da matsayi a cikin abubuwan da suka faru da sakamako daban-daban.
- Sabunta aikin dawowar kiran ISR mai ƙidayar lokaci _SessionTimer_Callback() don kula da yanayin ƙarewar lokaci ta hanyar kira: gui_show_face_rec_result (kFaceRecResult_TimeOut, s_UserId);
- Ƙara ma'anar da ke ƙasa don kunna fitar da UI a cikin board_define.h: #define ENABLE_OUTPUT_DEV_UiGUIFAceRec
Sanarwa:
Don gabatar da fasalin gano fuska mafi kyau, kiyaye aikin don nuna tsari da sakamakon tantance fuska a cikin fitarwa na UI HAL. An kwatanta aikin kamar yadda ke ƙasa
- Madaidaicin jagorar fuska yana nuna shuɗi, kuma sandar ci gaba tana nuna ci gaban lokacin fara rajistar fuska ko ganewa.
- Madaidaicin jagorar fuska yana nuna ja lokacin da aka yi nasarar rijistar fuska.
- Madaidaicin jagorar fuska yana nuna kore lokacin da aka sami nasarar gane fuska.
- Madaidaicin jagorar fuska yana riƙe shuɗi, kuma madaidaicin ci gaba yana nuna cikakken ci gaba lokacin da aikin bai yi nasara ba bayan ƙarewar lokaci. A wannan lokacin, dakatar da rajistar fuska ko tantancewa.
An gabatar da sandar ci gaba da kusurwar jagorar fuska azaman gumakan da aka gina a cikin binary albarkatun file za a tsara shi zuwa Flash. An saita masu nuni ga bayanan gumaka akan SDRAM a cikin aikin LoadIcons(APP_ICONS_BASE) wanda ake kira akan farawar na'urar UI HAL mai fitarwa a cikin UI HAL mai fitarwa. Dole ne ya aiwatar da goyan bayan gumaka don aikin.
Aiwatar da goyan bayan gumaka
- Gina albarkatun da ke haɗa gumaka tare da hotunan da aka yi amfani da su a cikin ƙa'idar LVGL GUI:
- Rufe taken icon huɗu files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, da kuma virtual_face_red_420x426.h daga wayayyun HMI
\mashin kofi \ albarkatun \ gumaka \ zuwa ga sabon babban fayil gumakan ƙarƙashin babban fayil na albarkatun tsohonampda SW. - Ƙara hanyar neman gumaka huɗu files a cikin kamara_preview_resource.txt file a cikin babban fayil ɗin albarkatun, misaliample: ikon ../resource/icons/process_bar_240x14.h
- Kashe kamara_preview_resource_build.bat don gina hotuna da kayan aikin gumaka don samar da bin file kamara_preview_resource.bin da bayanai file resource_information_table.txt (Duba Hoto na 6).
- Rufe taken icon huɗu files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, da kuma virtual_face_red_420x426.h daga wayayyun HMI
- Ƙayyade adireshin farawa akan SDRAM da girman gumakan app_config.h. Adireshin yana farawa kusa da hotunan GUI app. An samar da girman a cikin bayanin file. # ayyana APP_ICONS_BASE (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) # ayyana APP_ICONS_SIZE 0x107c40
- Sabunta girman da aka sanya na sashin ƙwaƙwalwar ajiya mai suna res_sh_mem zuwa 0x200000 ta hanyar sake fasalin shi a cikin app_config.h: #define RES_SHMEM_TOTAL_SIZE 0x200000 da saitin da ya dace a Project> Kayayyaki> C/C++ Gina> Saitunan MCU.
- Ƙara girman alamar zuwa jimlar girman albarkatun da aka ɗora daga Flash zuwa SDRAM a cikin aikin APP_LoadResource() a cikin babba file lvgl_gui_face_rec_cm7.cpp: memcpy ((void *)APP_LVGL_IMGS_BASE, pLvglImages, APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE);
Sanarwa: Don kammala fasalin gane fuska, ana buƙatar tallafin app na LVGL GUI. Ayyukan kiran kiran UI a cikin fitarwa UI HAL ana kiran su ta LVGL GUI app don sarrafa abubuwan da suka faru daga allon UI. A gefe guda, fitarwar UI HAL tana kiran APIs daga LVGL GUI app don sabunta UI don nuna sakamako da matsayi. Haɓakawa na LVGL GUI app yana da ɗan zaman kansa kuma an gabatar dashi a Sashe na 4.3.
4.1.5 Fara HAL na'urorin da manajoji don gane fuska
An kunna hangen nesa algo HAL da UI fitarwa HAL da manajojinsu an fara su a cikin babba file
lvgl_gui_face_rec_cm7.cpp bin jujjuyawar ci gaba akan tsarin kamar ƙasa:
- Haɗa kan taken file masu alaƙa da manajojin HAL guda biyu ta ƙara layin lambar:
- #hada da "fwk_output_manager.h"
- # hada da "fwk_vision_algo_manager.h"
- Bayyana na'urorin HAL:
- HAL_VALGO_DEV_DECLARE(OasisGUIFAceRec);
- HAL_OUTPUT_DEV_DECLARE(UiGUIFAceRec);
- Yi rijista na'urorin HAL:
- HAL_VALGO_DEV_REGISTER(OasisGUIFAceRec, ret);
- HAL_OUTPUT_DEV_REGISTER(UiGUIFAceRec, ret);
- Fara manajoji:
- FWK_MANAGER_INIT(VisionAlgoManager, ret);
- FWK_MANAGER_INIT(Mai sarrafa fitarwa, ret);
- Fara manajoji:
- FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, ret);
- FWK_MANAGER_START(Mai sarrafa fitarwa, OUTPUT_MANAGER_TASK_PRIORITY, ret);
- Ƙayyade fifikon ayyukan mai gudanarwa:
- # ayyana VISION_ALGO_MANAGER_TASKIYA_PRIORITY 3
- # ayyana OUTPUT_MANAGER_TASK_PRIORITY 1
Ƙara goyon bayan bayanan bayanan fuska akan tsari
Ana samun isar da bayanan fasalin fuskar da aka yi rajista a cikin bayanan bayanan fuskar da aka adana akan Flash ta ɗan ɗan lokaci file tsarin. Matakan don ƙara tallafin bayanan bayanan fuska an bayyana su a ƙasa.
Ƙara direbobi don ajiyar Flash
Kwafi Flash interface FlexSPI direba files fsl_flexspi.c da fsl_flexspi.h, da direban ɓoyayyen bayanai files fsl_caam.c da fsl_caam.h daga hanyar SDK_2_13_0_MIMXRT1170-EVK\na'urori \MIMRX1176\drivers zuwa babban fayil ɗin direbobi na tsohonampda SW.
Ƙara goyon bayan matakin allo
- Ƙara ma'anar FlexSPI da aka yi amfani da ita don na'urar Flash da ke cikin jirgi.h:
- # ayyana BOARD_FLEXSPI FLEXSPI1
- # ayyana BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1
- # ayyana BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE
- Kwafi masu aiki da daidaitawa files na na'urar Flash flexspi_nor_flash_ops.c, flexspi_nor_flash_ops.h, sln_flash_config.c, sln_flash_config_w25q256jvs.h, da sln_flash_ops.h a karkashin hanyar smart HMAchicoffeecm babban fayil ɗin babban fayil ɗin HMIampda SW.
- Cire alamar "Cire albarkatun daga gini" a cikin C/C ++ Gina> Saituna bayan danna dama akan files' sunan da buɗe Properties don ba da damar gina su a cikin aikin.
- Canza taken da aka haɗa filesuna sln_flash_config.h zuwa sln_flash_config_w25q256jvs.h a cikin sln_flash_config.c da flexspi_nor_flash_ops.h.
- Saita tushen agogon FlexSPI1 a cikin file clock_config.c yana nufin app ɗin injin kofi.
Ƙara adaftan da goyan bayan matakin tsakiya
- Kwafi da files sln_flash.c, sln_flash.h, sln_encrypt.c, da sln_encrypt.h a matsayin direbobin adaftar file tsarin da app daga hanyar mai kaifin HMI \ kofi_machine \ cm7 \ source \ zuwa babban fayil tushen tsohon.ample. Sabunta sabo files:
- Cire alamar "Keɓe albarkatu daga ginin" akan su don ginawa.
- Canza duk rubutun da aka haɗa file suna sln_flash_config.h zuwa sln_flash_config_w25q256jvs.h.
- Kwafi babban fayil ɗin filetsarin da ke ɗauke da APIs don kaɗan filetsarin da HAL direba daga smart HMI \coffee_machine \ cm7 \ tushen \ zuwa exampda SW. Kuma sabunta don sabon babban fayil:
- Cire alamar "Keɓe albarkatu daga ginawa" a kai don ginawa.
- Ƙara hanyar haɗa shi a cikin saitunan aikin: "${workspace_loc:/${ProjName}/filetsarin}"
- Canza taken da aka haɗa file suna sln_flash_config.h zuwa sln_flash_config_w25q256jvs.h da fica_definition.h zuwa app_config.h a cikin file sln_flash_littlefs.h.
- Kwafi smallfs babban fayil ɗin da ke ɗauke da kayan tsakiya - kaɗan filetsarin daga hanyar SDK_2_13_0_ MIMXRT1170-EVK\middleware zuwa tsohonampda SW. Kuma sabunta sabon babban fayil:
- Cire alamar "Keɓe albarkatu daga ginawa" a kai don ginawa.
- Ƙara hanyar haɗa da ita a cikin saitunan aikin: "${workspace_loc:/${ProjName}/littlefs}"
Ƙara HAL direbobi
- Akwai na'urorin HAL guda biyu - file tsarin da fuskar bayanan HAL sun goyi bayan fasalin samun damar bayanai kuma an riga an aiwatar da su a cikin tsarin ba tare da wani canji ba. Kunna su ta ƙara ma'anar da ke ƙasa a cikin board_define.h:
- # ayyana ENABLE_FLASH_DEV_Littlefs
- # ayyana ENABLE_FACEDB
Kuma canza sunan bayanan bayanan fuskar ga tsohonample: #define OASIS_FACE_DB_DIR "oasis_gui_face_rec"
Ƙara tallafin matakin app
- Sabunta babban file lvgl_gui_face_rec_cm7.cpp:
- Haɗa kan taken file mai alaka da Flash file tsarin HAL manajan ta ƙara layin lambar: # haɗa da "fwk_flash.h"
- Sanarwa da yin rijista file tsarin HAL na'urar:
- HAL_FLASH_DEV_DECLARE(Littlefs);
- HAL_FLASH_DEV_REGISTER(Littlefs, ret);
Lura: The file tsarin na'urar HAL dole ne a yi rijista kafin a fara duk manajan na'urar a cikin aikin APP_InitFramework().
- Kira aikin BOARD_ConfigMPU() a cikin APP_BoardInit() don saita MPU.
- Saita file tsarin aiki a kan Flash a cikin file app_config.h ta hanyar ayyana ma'anar macro da aka yi amfani da su a cikin file sln_flash_littlefs.h:
- # ayyana FICA_IMG_FILE_SYS_ADDR (FLASH_IMG_SIZE + RES_SHMEM_TOTAL_SIZE)
- #bayyana FICA_FILE_SYS_SIZE (0x280000)
Tsarin tsari
Ana aiwatar da wasu lambobi masu alaƙa da Flash a yankin SRAM ITC don isashen aiki. Kwafi rubutun mahaɗin babban fayil ɗin da ke ɗauke da saitunan mahaɗin daga hanyar smart HMIcoffee_machinecm7 zuwa tsohonampda SW.
Aiwatar da ƙa'idar LVGL GUI
Haɓaka ƙa'idar LVGL GUI dangane da tsarin yana kiran APIs daga fitarwa UI HAL kuma yana ba da API don fitar da UI HAL (Duba Sashe na 4.1.3 don aiwatar da fitarwa UI HAL).
Koyaya, cikakken aiwatar da ƙa'idar LVGL GUI ya dogara da buƙatu da ƙirar aikace-aikacen. GUI app a cikin wannan example an tsara shi kamar yadda aka bayyana a farkon sashe na 4.
A ƙasa akwai gabatarwar aiwatarwa:
- Ana aiwatar da lambobin da aka keɓance a cikin custom.c da custom.h da GUI Guider ya bayar a matsayin haɗin kai tsakanin aikin Jagorar GUI da tsarin tsarin da aka haɗa.
- Ƙara sababbin ayyuka masu suna gui_xxx() a custom.c don cimma waɗannan ayyuka na ƙasa:
- Don fitarwa UI HAL da GUI app don sabunta UI.
- Don aikace-aikacen GUI don jawo abubuwan da suka faru ta hanyar kiran ayyukan kiran UI daga fitarwa UI HAL.
Don misaliample, sabon aikin gui_event_face_rec_action() yana kiran ayyukan kira na UI don ɗaukar ɗaya daga cikin abubuwan da suka faru na rajistar fuska, tantance fuska da share mai amfani da aka jawo daga GUI app lokacin da aka danna maɓallin da ke da alaƙa.
Lura: Aikin gui_set_virtual_face() da ake kira a cikin fitarwa UI HAL don preview yana buƙatar aiwatar da yanayin a custom.c:
- Ayyukan Clone gui_set_virtual_face() daga smart HMI \coffee_machine\cm4\custom \ custom.c.
- Canja sunan widget din home_img_cameraPreview zuwa screen_img_camera_preview a cikin aikin.
- Aiwatar da ayyukan dawo da kiran UI tare da samfuri iri ɗaya ga duk waɗanda ke cikin fitarwa UI HAL ƙarƙashin ikon macro ma'anar #ifndef RT_PLATFORM a custom.c don dacewa da aikin Jagorar GUI saboda waɗannan ayyuka a cikin fitarwa UI HAL sun dogara da kafa dandamali. A cikin custom.c, sun dogara da na'urar kwaikwayo akan jagoran GUI kuma sun kasance masu zaman kansu ga dandalin da aka saka. Don misaliampHar ila yau, ana aiwatar da kiran dawo da rajistar fuska kamar yadda ke ƙasa don na'urar kwaikwayo ta GUI Guider tana gudana: #ifndef RT_PLATFORM mara amfani UI_Registration_Callback() {gui_hide_del_user_btn(gaskiya); s_InAction = ƙarya; dawowa; }
Lura: Koma zuwa nau'in samfurin aikin da aka gabatar a mataki na 6 na Sashe na 4.1.3
An saita ma'anar macro RT_PLATFORM akan saitunan aikin MCUXpresso kamar yadda aka nuna a hoto 7: - Bayyana duk ayyuka masu suna UI_xxx_Callback() da gui_xxx() a custom.h kuma ƙara custom.h an haɗa su cikin smart_tlhmi_event_descriptor.h don raba GUI APIs zuwa UI fitarwa HAL.
- Ƙara sababbin ayyuka masu suna gui_xxx() a custom.c don cimma waɗannan ayyuka na ƙasa:
- Haɓaka GUI akan Jagorar GUI:
- Clone babban fayil kamaraview yana ɗauke da software na aikin Jagorar GUI a cikin babban fayil ɗin gui_guider a cikin fakitin software na tushe lvgl_gui_camera_preview_cm7 ku. Canza sunan mai alaƙa kamara_preview to face_rec don sabon tsohonample.
- Kwafi na sama sabunta custom.c da custom. h zuwa sabuwar GUI Guider aikin software.
- Bude sabon aikin face_rec akan GUI Guider. Sabunta kamar ƙasa:
- Ƙara sabon maɓalli mai lakabin Share User. Ƙara tutar Hidden zuwa gare ta domin maɓallin zai ɓoye lokacin da GUI app ya fara.
- Ƙara layin lambar kiran API gui_event_face_rec_action() tare da sigogin ID na taron daban-daban akan "Saki" jawowa a cikin Saitin taron na duk maɓallan Rajista, Ganewa da Share Mai amfani don haifar da abubuwan da suka faru na rajistar fuska, tantance fuska da share mai amfani. Hoto 8 yana nuna lambar don taron maballin Rijista:
- Sabunta lambar da aka ƙirƙira daga Jagorar GUI zuwa aikin MCUXpresso.
- Sauya abubuwan da ke ciki ban da hotunan babban fayil a cikin babban fayil ɗin da aka samar na aikin MCUXpresso SW tare da waɗanda suka dace a cikin babban fayil ɗin da aka samar na GUI Guider project SW.
Lura: Don ƙarin cikakkun bayanai game da gyare-gyaren da aka gabatar a sama, duba tsohonampda software a https://mcuxpresso.nxp.com/appcodehub.
Tabbatarwa tare da exampda aikin
Don samun exampfakitin software mai ɗauke da albarkatu da kayan aikin wannan bayanin kula, ziyarci: https://mcuxpresso.nxp.com/appcodehub. Bude exampda aikin akan MCUXpresso IDE. Gina kuma shirya .axf file zuwa adireshin 0x30000000 kuma ya tsara bin albarkatun albarkatun file kamara_preview_resource.bin zuwa adireshin 0x30800000.
Gano fuskar LVGL GUI example aiki kullum kamar yadda a kasa:
- Preview: Tare da haɓakawa, rafukan bidiyo da kyamarar ta kama suna nunawa akan takamaiman yanki na kamara kafinview a kan GUI allon. Alamar matsayi tana nuna “Preview…”. Don cikakkun bayanai, duba Hoto 3. Maɓallin Share mai amfani yana ɓoye. Lokacin danna yankin waje da maɓalli da hotuna, yana nuna preview bayyana kamar yadda na sama bayan rajistar fuska ko aikin tantancewa ya ƙare.
- Rijista:
- tartup: Lokacin da aka danna maɓallin Registration, rajistar fuska zai fara. Alamar matsayi tana canzawa don nuna “Rijista…”, kusurwar jagorar fuska tana nuna shuɗi, kuma sandar ci gaba ta fara nuna ci gaban. Tabbatar cewa fuskar mai amfani tana nunawa a cikin shuɗin jagorar fuska rectangle don rajista.
- nasara: Alamar matsayi tana nuna “Register…Ok” da lambar ID ɗin mai amfani mai rijista, rectangular jagorar fuskar zai zama ja idan rajistar fuskar ta yi nasara kafin ci gaban ya nuna cikakke akan mashaya.
- Kasawa -> Lokaci ya ƙare: Alamar matsayi tana nuna “Rijista…Lokacin ƙarewa” idan har yanzu rajistar fuskar ta gaza lokacin da ci gaban ya nuna cikakke akan mashaya.
- Kasawa -> Kwafi: Alamar matsayi tana nuna “Rijista…Ba a yi nasara ba”, kusurwar jagorar fuska ta zama kore idan an gane fuskar da aka yi rajista kafin ci gaban ya nuna cikakke akan mashaya.
- ganewa:
- Farawa: Lokacin da aka danna maɓallin Ganewa, gane fuska yana farawa. Alamar matsayi tana canzawa don nuna “Gane…”, kusurwar jagorar fuska tana nuna shuɗi, kuma sandar ci gaba ta fara nuna ci gaba. Tabbatar an nuna fuskar mai amfani a cikin shuɗin jagorar fuska murabba'i don rajista.
- nasara: Alamar matsayi tana nuna “Gane…Ok” da lambar ID ɗin mai amfani da aka gane, kusurwa huɗu na jagorar fuska ta zama kore idan an sami nasarar tantance fuskar kafin ci gaban ya nuna cikakke akan sandar. A wurin, maɓallin Share User yana bayyana. Yana nufin cewa an ba da izinin share mai amfani kawai lokacin da aka gane shi.
- ailure: Alamar matsayi tana nuna “Ganewa…Lokacin ƙarewa” idan har yanzu an gaza tantance fuskar lokacin da ci gaban ya nuna cikakke akan mashaya.
- Share Mai amfani: Lokacin da aka danna maballin "Share User" bayan an yi nasarar gane fuskar fuska, alamar matsayi ta canza don nuna "Share User...Ok" tare da kusurwar jagorar fuska ta zama blue kuma ci gaban yana nunawa a kan sandar. Maɓallin Share Mai amfani yana sake ɓoyewa. An goge fuskar/mai amfani da aka gane daga ma'ajin bayanai. Yana nufin ba za a iya gane wannan fuskar/mai amfani ba har sai an sake yin rajista.
Lura game da lambar tushe a cikin takaddar
Examplambar da aka nuna a cikin wannan takaddar tana da haƙƙin mallaka mai zuwa da lasisin BSD-3-Clause:
Haƙƙin mallaka 2024 NXP Sake rarrabawa da amfani a cikin tushe da nau'ikan binaryar, tare da ko ba tare da gyare-gyare ba, an halatta su muddin an cika waɗannan sharuɗɗan:
- Sake rarraba lambar tushe dole ne a riƙe sanarwar haƙƙin mallaka na sama, wannan jeri na sharuɗɗan da rashin yarda mai zuwa.
- Sake rarrabawa a cikin nau'i na binary dole ne a sake fitar da sanarwar haƙƙin mallaka na sama, wannan jeri na sharuɗɗan da ƙetare mai zuwa a cikin takaddun da/ko wasu kayan dole ne a ba su tare da rarrabawa.
- Ba za a iya amfani da sunan mai haƙƙin mallaka ko sunayen masu ba da gudummawarsa don amincewa ko haɓaka samfuran da aka samo daga wannan software ba tare da takamaiman izini na rubutaccen bayani ba.
WANNAR SOFTWARE ANA BAYAR DA MASU HAKKIN KYAUTA DA MASU BUDURWA “KAMAR YADDA” DA DUK WANI GARANTIN BAYANI KO MAI GIRMA, HADA, AMMA BAI IYA IYAKA GA GARANTIN CIN ARZIKI DA KWANTAWA DOMIN SAMUN SAUKI. BABU WANI FARKO MAI KYAUTA KO MASU BUDURWA BA ZA SU IYA LALHAKI GA DUK WANI LALACEWA TA KIYAYYA, GASKIYA, GASKIYA, NA MUSAMMAN, MISALI, KO SABODA HAKA (HADA, AMMA BAI IYAKA GA, SAMUN SAUKI BA; AMFANI, BAYANI, KO RIBA; KO KASANCEWAR KASUWANCI) DUK DA KAN WATA KA'IDAR LAHADI, KO A KAN HANJILA, MATSALAR LAFIYA, KO AZABA (HAMI DA sakaci KO WATA HANYA) NASIHA DA YIWUWAR IRIN WANNAN LALATA.
Tarihin bita
Bayanin doka
Ma'anoni
Draft - Matsayin daftarin aiki akan takarda yana nuna cewa abun cikin har yanzu yana ƙarƙashin sake na cikiview kuma ƙarƙashin yarda na yau da kullun, wanda zai iya haifar da gyare-gyare ko ƙari. Semiconductor NXP ba ya ba da kowane wakilci ko garanti dangane da daidaito ko cikar bayanin da aka haɗa a cikin daftarin aiki kuma ba zai da wani alhaki ga sakamakon amfani da irin waɗannan bayanan.
Disclaimer
- Garanti mai iyaka da abin alhaki - An yi imanin cewa bayanan da ke cikin wannan takarda cikakke ne kuma abin dogaro ne. Koyaya, Semiconductor NXP ba ya ba da kowane wakilci ko garanti, bayyana ko fayyace, dangane da daidaito ko cikar irin wannan bayanin kuma ba zai da alhakin sakamakon amfani da irin waɗannan bayanan. Semiconductor NXP ba su ɗauki alhakin abun ciki a cikin wannan takaddar ba idan tushen bayani ya samar da su a wajen NXP Semiconductor.
Babu wani hali da NXP Semiconductors za su zama abin dogaro ga kowane kaikaice, na bazata, ladabtarwa, na musamman ko lahani (ciki har da - ba tare da iyakancewa ba - ribar da aka rasa, asarar ajiyar kuɗi, katsewar kasuwanci, farashi mai alaƙa da cirewa ko maye gurbin kowane samfur ko cajin sake aiki) ko ko a'a irin wannan lalacewar ta dogara ne akan azabtarwa (ciki har da sakaci), garanti, keta kwangila ko kowace ka'idar doka.
Ko da duk wani lahani da abokin ciniki zai iya haifar da kowane dalili, NXP Semiconductor' tara da kuma tara alhaki ga abokin ciniki don samfuran da aka bayyana anan za a iyakance su daidai da sharuɗɗan da sharuɗɗan siyar da kasuwanci na NXP Semiconductor. - Haƙƙin yin canje-canje - Semiconductors NXP suna da haƙƙin yin canje-canje ga bayanin da aka buga a cikin wannan takaddar, gami da ba tare da ƙayyadaddun ƙayyadaddun ƙayyadaddun bayanai da kwatancen samfur ba, a kowane lokaci kuma ba tare da sanarwa ba. Wannan takaddar ta maye gurbin duk bayanan da aka kawo kafin buga wannan.
- Dace da amfani Ba a tsara samfuran Semiconductor na NXP, izini ko garantin dacewa don dacewa da amfani a cikin tallafin rayuwa, tsarin rayuwa mai mahimmanci ko aminci-m tsarin ko kayan aiki, ko a aikace-aikacen da gazawa ko rashin aiki na samfurin Semiconductor NXP zai iya haifar da rauni na mutum, mutuwa ko mummuna dukiya ko lalacewar muhalli. Semiconductor NXP da masu ba da kayan sa ba su yarda da wani alhaki don haɗawa da/ko amfani da samfuran Semiconductor NXP a cikin irin waɗannan kayan aiki ko aikace-aikace don haka irin wannan haɗawa da/ko amfani yana cikin haɗarin abokin ciniki.
- Aikace-aikace - Aikace-aikacen da aka siffanta a nan don kowane ɗayan waɗannan samfuran don dalilai ne kawai. Semiconductor NXP baya yin wakilci ko garanti cewa waɗannan aikace-aikacen zasu dace da ƙayyadadden amfani ba tare da ƙarin gwaji ko gyara ba.
Abokan ciniki suna da alhakin ƙira da aiki na aikace-aikacensu da samfuransu ta amfani da samfuran Semiconductor NXP, kuma Semiconductor NXP ba su yarda da wani alhaki ga kowane taimako tare da aikace-aikace ko ƙirar samfurin abokin ciniki. Haƙƙin abokin ciniki ne kaɗai don tantance ko samfurin Semiconductor NXP ya dace kuma ya dace da aikace-aikacen abokin ciniki da samfuran da aka tsara, haka kuma don aikace-aikacen da aka tsara da amfani da abokin ciniki na ɓangare na uku. Abokan ciniki yakamata su samar da ƙira da suka dace da kariyar aiki don rage haɗarin da ke tattare da aikace-aikacen su da samfuran su. Semiconductor NXP ba ya karɓar duk wani abin alhaki da ke da alaƙa da kowane tsoho, lalacewa, farashi ko matsala wanda ya dogara da kowane rauni ko tsoho a aikace-aikacen abokin ciniki ko samfuran, ko aikace-aikacen ko amfani da abokin ciniki (s) na ɓangare na uku. Abokin ciniki yana da alhakin yin duk gwajin da ake buƙata don aikace-aikacen abokin ciniki da samfuran ta amfani da samfuran Semiconductor NXP don guje wa tsoho na aikace-aikacen da samfuran ko na aikace-aikacen ko amfani da abokin ciniki (s) na ɓangare na uku. NXP ba ta karɓar kowane alhaki ta wannan fuskar. - Sharuɗɗa da sharuɗɗan siyarwar kasuwanci - Ana siyar da samfuran Semiconductor NXP bisa ga ƙa'idodi da sharuɗɗan siyarwar kasuwanci, kamar yadda aka buga a https://www.nxp.com/profile/ sharuɗɗan, sai dai in akasin haka an yarda a cikin ingantacciyar yarjejeniya ta mutum ɗaya. Idan aka kulla yarjejeniya ta mutum ɗaya kawai sharuɗɗa da sharuɗɗan yarjejeniyar za su yi aiki. NXP Semiconductor ta haka ne a bayyane abubuwa don amfani da sharuɗɗa da sharuɗɗan abokin ciniki game da siyan samfuran Semiconductor NXP ta abokin ciniki.
- Ikon fitarwa - Wannan daftarin aiki da kuma abu(s) da aka kwatanta a nan na iya kasancewa ƙarƙashin ƙa'idodin sarrafa fitarwa. Fitarwa na iya buƙatar izini kafin izini daga manyan hukumomi.
- Dace don amfani a cikin samfuran da ba na mota ba - Sai dai idan wannan takaddar ta bayyana a sarari cewa wannan takamaiman samfurin Semiconductor NXP ya cancanci kera, samfurin bai dace da amfani da mota ba. Ba shi da cancanta ko gwada shi daidai da gwajin mota ko buƙatun aikace-aikace. Semiconductors NXP ba su yarda da wani alhaki don haɗawa da/ko amfani da samfuran da ba na kera ba a cikin kayan aikin mota ko aikace-aikace.
A yayin da abokin ciniki ya yi amfani da samfurin don ƙira da amfani da shi a cikin aikace-aikacen kera zuwa ƙayyadaddun kera motoci da ƙa'idodi, abokin ciniki (a) zai yi amfani da samfurin ba tare da garantin NXP Semiconductor na samfurin don irin aikace-aikacen kera ba, amfani da ƙayyadaddun bayanai, da ( b) duk lokacin da abokin ciniki ya yi amfani da samfurin don aikace-aikacen mota fiye da ƙayyadaddun bayanan Semiconductor na NXP irin wannan amfani zai kasance a cikin haɗarin abokin ciniki kawai, kuma (c) abokin ciniki yana ba da cikakken alhakin NXP Semiconductor ga kowane alhaki, lalacewa ko rashin nasarar da'awar samfur sakamakon ƙira da amfani da abokin ciniki. Samfurin don aikace-aikacen kera fiye da daidaitaccen garanti na Semiconductor NXP da ƙayyadaddun samfur na Semiconductor NXP. - Fassara - Sigar da ba ta Ingilishi ba (fassara) na takarda, gami da bayanan doka a waccan takardar, don tunani ne kawai. Fassarar Ingilishi za ta yi nasara idan aka sami sabani tsakanin fassarar da Ingilishi.
- Tsaro - Abokin ciniki ya fahimci cewa duk samfuran NXP na iya kasancewa ƙarƙashin lahani waɗanda ba a tantance su ba ko kuma suna iya tallafawa ƙaƙƙarfan ƙa'idodin tsaro ko ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun bayanai. Abokin ciniki yana da alhakin ƙira da aiki na aikace-aikacensa da samfuransa a duk tsawon rayuwarsu don rage tasirin waɗannan raunin akan aikace-aikacen abokin ciniki da samfuran. Har ila yau, alhakin abokin ciniki ya ƙara zuwa wasu buɗaɗɗen da/ko fasahohin mallakar mallaka waɗanda samfuran NXP ke tallafawa don amfani a aikace-aikacen abokin ciniki. NXP ba ta yarda da wani alhaki ga kowane rauni. Abokin ciniki yakamata ya duba sabuntawar tsaro akai-akai daga NXP kuma ya bi su daidai. Abokin ciniki zai zaɓi samfuran da ke da fasalulluka na tsaro waɗanda suka fi dacewa da ƙa'idodi, ƙa'idodi, da ƙa'idodi na aikace-aikacen da aka yi niyya kuma su yanke shawarar ƙira ta ƙarshe game da samfuran ta kuma ita kaɗai ke da alhakin bin duk doka, ƙa'idodi, da buƙatun tsaro game da samfuran sa, ba tare da la'akari da su ba. na kowane bayani ko tallafi wanda NXP zai iya bayarwa.
NXP tana da Tawagar Bayar da Amsa Taimako na Tsaron Samfur (PSIRT) (ana iya isawa a PSIRT@nxp.com) wanda ke gudanar da bincike, bayar da rahoto, da sakin bayani ga raunin tsaro na samfuran NXP.
NXP BV - NXP BV ba kamfani ne mai aiki ba kuma baya rarraba ko sayar da kayayyaki.
Alamomin kasuwanci
Sanarwa: Duk samfuran da aka ambata, sunayen samfur, sunayen sabis, da alamun kasuwanci mallakar masu su ne.
NXP - alamar kalma da tambari alamun kasuwanci ne na 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 - alamun kasuwanci ne da/ko alamun kasuwanci masu rijista na Arm Limited (ko rassan sa ko alaƙa) a cikin Amurka da/ko wani wuri. Ana iya kiyaye fasahar da ke da alaƙa ta kowane ko duk abubuwan haƙƙin mallaka, haƙƙin mallaka, ƙira da sirrin kasuwanci. An kiyaye duk haƙƙoƙi.
- i.MX - alamar kasuwanci ce ta NXP BV
- J-Link - alamar kasuwanci ce ta SEGGER Microcontroller GmbH.
Microsoft, Azure, da ThreadX - alamun kasuwanci ne na rukunin kamfanoni na Microsoft.
Da fatan za a sani cewa mahimman sanarwa game da wannan takarda da samfurin(s) da aka bayyana a nan, an haɗa su cikin sashe 'Bayanin Shari'a'.
© 2024 NXP BV
Don ƙarin bayani, ziyarci: https://www.nxp.com
- Ranar saki: Afrilu 19, 2024
- Mai gano daftarin aikiSaukewa: AN14263
FAQ
Tambaya: Menene babban dalilin wannan samfurin?
A: Babban manufar shine don ba da damar aikin tantance fuska ta amfani da samfurin hangen nesa na AI&ML tare da sauƙi LVGL GUI ex.ample a kan allon SLN-TLHMI-IOT.
Tambaya: Ta yaya masu haɓakawa za su amfana daga wannan bayanin kula?
A: Masu haɓakawa za su iya koyon yadda ake aiwatar da fahimtar fuska akan tsarin mataki-mataki ta amfani da tsohon da aka bayarampsannan ku fahimci masu sarrafa na'urar, na'urorin HAL, da hanyoyin abubuwan da ke tattare da su.
Takardu / Albarkatu
![]() |
NXP AN14263 Aiwatar da Gane Fuskar LVGL GUI akan Framewor [pdf] Jagorar mai amfani AN14263 Aiwatar da Gane Fuskar LVGL GUI akan Framewor, AN14263, Aiwatar da Gane Fuskar LVGL GUI akan Framewor, LVGL GUI Gane Fuskar Fuskar akan Framewor, Gane Fuskar akan Framewor, Ganewa akan Framewor, Framewor |