NXP AN14263 Cuir an gnìomh Aithneachadh Aghaidh LVGL GUI air Framewor
Fiosrachadh toraidh
Sònrachaidhean
- Ainm toraidh: Aithneachadh Aghaidh LVGL GUI air Frèam
- Ath-sgrùdadh sgrìobhainn: 1-19 Giblean 2024
- Faclan-luirg: Aithneachadh aghaidh, LVGL GUI, Frèam
Stiùireadh airson cleachdadh bathar
- Thairisview
Tha an toradh seo a’ comasachadh modal algorithm lèirsinn AI&ML airson aithne aghaidh air frèam gus gnìomh aithne aghaidh a chuir an gnìomh le LVGL GUI ex sìmplidh.ample air bòrd SLN-TLHMI-IOT. - Frèam thairis airview
Tha am bathar-bog fuasglaidh air a dhealbhadh timcheall air an ailtireachd frèam a tha a’ toirt a-steach manaidsearan innealan le uallach airson riaghladh innealan, innealan HAL gus mion-fhiosrachadh a thoirt air falbh, agus tachartasan airson conaltradh eadar diofar innealan. - Feartan
Tha an toradh a’ ceadachadh gnìomh aithneachaidh aghaidh a chuir an gnìomh tro chamara roview air scrion GUI le putanan gus clàradh aghaidh, aithneachadh agus toirt air falbh a bhrosnachadh. Tha dàta aghaidh clàraichte air a stòradh air Flash tro a file siostam. - Susbaint Nota Iarrtais
Tha an nota tagraidh a’ taisbeanadh scrion LVGL GUI le camara roview agus putanan airson gnìomhan co-cheangailte ri aghaidh. Bidh e a’ cuideachadh luchd-leasachaidh a bhith a’ tuigsinn am frèam agus mar a chuireas iad aithne aghaidh an gnìomh a’ cleachdadh an t-seann fhiosrachadh a chaidh a thoirt seachadample.
Thairisview
Tha NXP air pasgan leasachaidh fuasglaidh a chuir air bhog leis an t-ainm SLN-TLHMI-IOT a tha ag amas air tagraidhean smart HMI. Tha e a’ comasachadh HMI snasail le lèirsinn ML, guth, agus grafaigean UI air a chuir an gnìomh air aon NXP i.MX RT117H MCU. Stèidhichte air an SDK, tha am bathar-bog fuasglaidh air a thogail air dealbhadh ris an canar frèam a bheir taic do dhealbhadh sùbailte agus gnàthachadh gnìomhan lèirsinn is guth. Gus luchd-cleachdaidh a chuideachadh gus an àrd-ùrlar bathar-bog a chleachdadh nas fheàrr, tha cuid de sgrìobhainnean bunaiteach air an toirt seachad, airson example, an stiùireadh cleachdaiche leasachadh bathar-bog. Tha an iùl a’ toirt a-steach dealbhadh bathar-bog bunaiteach agus ailtireachd nan tagraidhean a’ còmhdach a h-uile pàirt den fhuasgladh a’ toirt a-steach am frèam gus an luchd-leasachaidh a chuideachadh gus na tagraidhean aca a chuir an gnìomh nas fhasa agus nas èifeachdaiche a’ cleachdadh an SLN-TLHMI-IOT.
Airson tuilleadh fiosrachaidh mun fhuasgladh agus na sgrìobhainnean buntainneach, tadhal air an web duilleag den NXP EdgeReady Smart HMI Solution Stèidhichte air i.MX RT117H le ML Vision, Voice, and Graphical UI. Ach, chan eil e fhathast cho furasta don luchd-leasachaidh na tagraidhean smart HMI aca a chuir an gnìomh a’ toirt iomradh air na stiùiridhean bunaiteach sin. Tha sreath de notaichean tagraidh air an dealbhadh gus cuideachadh le bhith a’ sgrùdadh leasachadh air an fhrèam ceum air cheum. Tha an nota tagraidh seo stèidhichte air Cur an gnìomh LVGL GUI Camera Preview air Frèam (sgrìobhainn AN14147). Tha an nota tagraidh seo a’ toirt cunntas air mar a bheir thu comas don mhodal algorithm lèirsinn AI&ML airson aithne aghaidh air an fhrèam gnìomh aithneachaidh aghaidh a chuir an gnìomh tro chamara ro-làimh.view air an sgrion GUI le LVGL GUI sìmplidh example air bòrd SLN-TLHMI-IOT. Anns an nota tagraidh, tha an t-example a’ taisbeanadh scrion LVGL GUI le camara ro-làimhview agus cuid de phutanan gus clàradh aghaidh, aithneachadh, agus toirt air falbh a bhrosnachadh. Tha an dàta aghaidh clàraichte air a stòradh air Flash tro beagan file siostam.
Aig ìre àrd, tha na tha gu h-ìosal anns an nota tagraidh:
- Dèan comas air feart aithne aghaidh air an fhrèam.
- Cuir taic stòr-dàta aghaidh ris an fhrèam tro file An t-siostam air flash drive.
- Cuir an gnìomh an app LVGL GUI. Tro na ro-ràdh gu h-àrd, tha an sgrìobhainn seo a’ cuideachadh an luchd-leasachaidh gus:
- Tuig am frèam agus am bathar-bog fuasglaidh HMI nas doimhne.
- Leasaich an aithne aghaidh AI&ML aca air frèam leis an app LVGL GUI.
Frèam seachadview
Tha am bathar-bog fuasglaidh air a dhealbhadh gu sònraichte timcheall air cleachdadh na h-ailtireachd frèam a tha air a dhèanamh suas de ghrunn phàirtean eadar-dhealaichte:
- Manaidsearan innealan - am prìomh phàirt
- Innealan Sreath tarraing-às bathar-cruaidh (HAL).
- Teachdaireachdan/tachartasan
Mar a chithear ann am Figear 1, an còrrview Is e uidheamachd an fhrèam:
Tha uallach air manaidsearan innealan airson a bhith a’ riaghladh innealan a chleachdas an siostam. Tha a mhanaidsear inneal sònraichte fhèin aig gach seòrsa inneal (cuir a-steach, toradh, agus mar sin air adhart). Le manaidsear inneal a’ tòiseachadh às deidh na h-innealan a bhith clàraichte dha, bidh e a’ feitheamh agus a’ sgrùdadh teachdaireachd gus dàta a ghluasad gu na h-innealan agus manaidsearan eile às deidh dha na h-innealan clàraichte a thòiseachadh agus a thòiseachadh. Tha na h-innealan HAL air an sgrìobhadh a bharrachd air a’ chòd draibhear aig ìre ìosal, a’ cuideachadh le bhith ag àrdachadh tuigse còd le bhith a’ toirt air falbh mòran de na mion-fhiosrachadh bunaiteach.
Tha tachartasan mar dhòigh air fiosrachadh a chuir an cèill eadar diofar innealan tro na manaidsearan aca. Nuair a thèid tachartas a bhrosnachadh, bidh an inneal a fhuair an tachartas an-toiseach a’ conaltradh ris a’ mhanaidsear aige, agus an uair sin a’ cur fios gu manaidsearan eile a tha ainmichte airson an tachartas fhaighinn.
Bha dealbhadh ailtireachd an fhrèam stèidhichte air trì prìomh amasan:
- Furasta a chleachdadh
- Sùbailteachd / So-ghiùlain
- Coileanadh
Tha am frèam air a dhealbhadh leis an amas a bhith a’ luathachadh na h-ùine gu margaidheachd airson lèirsinn agus tagraidhean ionnsachaidh inneal eile. Gus dèanamh cinnteach à ùine luath airson margaidheachd, tha e deatamach gum bi am bathar-bog fhèin furasta a thuigsinn agus atharrachadh. Le bhith a’ cumail an amas seo ann an cuimhne, tha ailtireachd an fhrèam furasta atharrachadh gun a bhith cuibhrichte, agus gun a bhith a’ tighinn gu cosgais coileanaidh.
Airson tuilleadh fiosrachaidh mun fhrèam, faic Stiùireadh Cleachdaiche Leasachadh Bathar-bog Smart HMI (sgrìobhainn MCU-SMHMI-SDUG).
Leabharlann Grafaigean Aotrom is Iom-fhillte (LVGL)
Tha LVGL (Light and Versatile Graphics Library) na leabharlann grafaigean stòr fosgailte an-asgaidh a bheir seachad a h-uile dad a dh’ fheumas tu gus GUI freumhaichte a chruthachadh le eileamaidean grafaigeach a tha furasta a chleachdadh, buaidhean lèirsinneach breagha agus lorg-coise cuimhne ìosal.
Stiùiriche GUI
Tha GUI Guider na inneal leasachaidh eadar-aghaidh cleachdaiche grafaigeach furasta a chleachdadh bho NXP a bheir comas do thaisbeanaidhean àrd-inbhe a leasachadh gu luath leis an leabharlann grafaigean LVGL stòr fosgailte. Tha deasaiche slaodadh is leigeil às GUI Guider ga dhèanamh furasta mòran fheartan LVGL a chleachdadh leithid widgets, beòthachaidhean, agus stoidhlichean gus GUI a chruthachadh le glè bheag de chòd no gun chòd idir.
Le cliogadh putan, faodaidh tu an tagradh agad a ruith ann an àrainneachd shamhlachail no às-mhalairt gu pròiseact targaid. Faodar còd gineadh bho GUI Guider a chuir ris a ’phròiseact agad gu furasta, a’ luathachadh a ’phròiseas leasachaidh agus a’ toirt cothrom dhut eadar-aghaidh cleachdaiche freumhaichte a chuir ris an tagradh agad gun fhiosta. Tha GUI Guider an-asgaidh a chleachdadh le adhbhar coitcheann NXP agus MCUn crossover agus a’ toirt a-steach teamplaidean pròiseict togte airson grunn àrd-ùrlaran le taic. Gus barrachd ionnsachadh mu leasachadh LVGL agus GUI air GUI Guider, thoir sùil air Light and Versatile Graphics Library agus GUI Guider.
Àrainneachd leasachaidh
An toiseach, ullaich agus stèidhich an àrainneachd bathar-cruaidh is bathar-bog airson a bhith a’ buileachadh an t-seannample air an fhrèam.
Àrainneachd bathar-cruaidh
Tha an àrainneachd bathar-cruaidh air a stèidheachadh airson dearbhadh an t-seannample:
- An uidheamachd leasachaidh smart HMI stèidhichte air NXP i.MX RT117H (an pasgan SLN_TLHMI_IOT)
- SEGGER J-Link le inneal-atharrachaidh 9-pin Cortex-M agus V7.84a no dreach nas ùire den draibhear
Àrainneachd bathar-bog
Tha an àrainneachd bathar-bog air a stèidheachadh airson leasachadh an t-seannample:
- MCUXpresso IDE V11.7.0
- GUI Guider V1.6.1-GA
- lvgl_gui_camara_preview_cm7 - example còd an dàrna nota tagraidh mar bhunait bathar-bog an leasachaidh. Airson mion-fhiosrachadh, faic https://mcuxpresso.nxp.com/appcodehub.
- RT1170 SDK V2.13.0 - mar ghoireas còd airson leasachadh.
- Bathar-bog SLN-TLHMI-IOT V1.1.2 - còd stòr smart HMI air a leigeil ma sgaoil air stòr NXP GitHub mar ghoireas còd airson an leasachaidh. Airson mion-fhiosrachadh, faic: GitHub - NXP/mcu-smhmi aig v1.1.2
Airson mion-fhiosrachadh mu bhith a’ faighinn agus a’ suidheachadh na h-àrainneachd bathar-bog, faic: A’ tòiseachadh leis an SLN-TLHMI-IOT.
Lèirsinn ailtireachd air frèam
Tha an ailtireachd lèirsinn air an fhrèam ri fhaicinn ann am Figear 2. Tha na pròiseasan gu h-ìosal aig an lèirsinn algo HAL (OASIS_HAL):
- Dèan aghaidh air clàradh agus aithneachadh tro mhodal algorithm lèirsinn AI&ML às deidh dhut na tachartasan co-cheangailte fhaighinn bhon toradh UI HAL. Cuir fios gu toraidhean co-dhùnaidh bhon mhodail algorithm gu toradh UI HAL.
- Ruigsinneachd (cuir ris, cuir às ...) an stòr-dàta feartan aghaidh stèidhichte air an fhear bheag file siostam le bhith a’ gairm APIan FaceDB HAL às deidh dhaibh na tachartasan co-cheangailte fhaighinn bhon toradh UI HAL.
- Iarr frèam bhidio camara bhon chamara HAL nuair a bhios tu a’ clàradh aghaidh agus ag aithneachadh.
Cuir aithne aghaidh air an fhrèam
Tha aithne aghaidh LVGL GUI example (example air a thoirt seachad nas fhaide air adhart) air an fhrèam air a bhuileachadh stèidhichte air an example còdan Cur an gnìomh LVGL GUI Camera Preview air Frèam (sgrìobhainn AN14147).
Airson a bhith a’ taisbeanadh aithne aghaidh anns an t-seannample, tha gnìomh bunaiteach an aplacaid GUI (faic am prìomh sgrion ann am Figear 3) air a dhealbhadh mar a tha air a mhìneachadh gu h-ìosal:
- Bidh an app GUI a’ piobrachadh an tachartas clàraidh aghaidh no aithneachaidh gu toradh UI HAL nuair a phutas tu air a’ phutan Clàradh no Aithneachadh. Agus tha an toradh UI HAL a’ toirt fios don tachartas gun cuir neach-cleachdaidh ris an lèirsinn algo HAL às deidh don chlàradh aghaidh a bhith soirbheachail.
- Bidh an app GUI a’ piobrachadh tachartas gun cuir thu às neach-cleachdaidh chun an toradh UI HAL nuair a phutas tu air a’ phutan Sguab às Cleachdaiche às deidh aghaidh an neach-cleachdaidh aithneachadh.
- Bidh an app GUI a ’piobrachadh an tachartas a chuireas stad air an oasis algo a’ ruith chun toradh UI HAL nuair a bhriogas tu air an sgrion taobh a-muigh nam putanan agus na h-ìomhaighean.
Ullaich am pasgan bathar-bog airson buileachadh an example.
- Clone am bathar-bog bunaiteach lvgl_gui_camera_preview_cm7. Atharraich ainm a’ phròiseict agus am prìomh fileainm gu lvgl_gui_face_rec_cm7.
- Tha feum air am frèam ùrachadh anns a’ bhathar-bog leis gu bheil na còdan stòr airson cridhe an fhrèam air tòiseachadh a bhith poblach air GitHub bhon dreach 1.1.2.
- Cuir an leth-bhreac de V1.1.2 bho GitHub an àite am pasgan frèam ach a-mhàin an files fwk_log.h agus fwk_common.h fo inc\ oir chaidh an atharrachadh airson an t-sreath de nota tagraidh. Tha na gnìomhan air an sealltainn ann am Figear 4:
- Sguab às am pasgan frame_cm7 fon bhuidheann libs agus thoir air falbh an leabharlann framework_cm7 agus an t-slighe sgrùdaidh aige air a rèiteachadh ann am Pròiseact> Togalaichean> C / C ++ Togbhail> roghainnean> Roghainnean inneal> MCU C ++ Linker> Leabharlannan leis gu bheil còd stòr a’ chridhe air a thoirt seachad.
Dèan comas air feart aithne aghaidh air frèam
Tha am feart aithne aghaidh air a thogail air modal algorithm lèirsinn ML air a thoirt seachad mar leabharlann statach - leabharlann runtime oasis lite le NXP. Tha an leabharlann na leabharlann AI beag bìodach, fìor èifeachdach, gnàthaichte agus làn-leasaichte. Tha am modail a’ toirt a-steach lorg aghaidh, aithneachadh aghaidh, lorg glainne, agus lorg beòthalachd. Bidh e sa mhòr-chuid a’ toirt seachad an API OASISLT_run_extended() gus an loidhne-phìob aithneachadh aghaidh a ruith fhad ‘s a tha e ag ùrachadh thoraidhean don neach-fios tro ghairm air ais tachartais, agus cuir ris / ùrachadh / cuir às do aghaidhean san stòr-dàta tro fios air ais stòr-dàta aghaidh às deidh dhaibh am fiosrachadh frèam stòr, fios air ais agus cuimhne a shònrachadh amar a chleachdas an leabharlann le bhith a’ gairm API eile OASISLT_init() nuair a thòisicheas tu. Tha gairm nan APIan agus na gnìomhan gairm air ais air an cur an gnìomh ann an sealladh algo HAL den fhrèam.
Cuir leabharlann modail algo lèirsinn ris
- Dèan lethbhreac de oasis pasgan anns a bheil an leabharlann agus an bann-cinn co-cheangailte ris file bho smart HMI \ coffee_machine \ cm7 \ libs \ a-steach do libs pasgan an t-seannample SW.
- Cuir a-steach slighe sgrùdaidh a’ chinn file ann am Pròiseact > Feartan > C/C ++ Togbhail > roghainnean > Roghainnean an inneal > Compiler MCU C > A’ gabhail a-steach agus inneal-cruinneachaidh MCU C ++ > A’ gabhail a-steach: “${workspace_loc:/${ProjName}/libs/oasis/include}”
- Cuir an lib agus an t-slighe sgrùdaidh aige air Project> Properties> C/C++ Build> roghainnean> MCU C+ + Linker> Leabharlannan: liboasis_lite2D_DEFAULT_117f_ae.a “${workspace_loc:/${ProjName}/libs/oasis}” agus am mìneachadh macro gu comas a thoirt don fheart air Pròiseact> Togalaichean> C / C ++ Tog> roghainnean> Roghainnean inneal> compiler MCU C> Preprocessor agus compiler MCU C ++> Preprocessor: SMART_TLHMI_2D
Dèan comas air lèirsinn algo HAL
Bidh an lèirsinn algo HAL a’ stiùireadh a’ mhodail algo lèirsinn gu bhith ag obair agus a’ freagairt nan toraidhean gu toradh UI HAL às deidh dha na tachartasan fhaighinn bhuaithe.
Gus a chomasachadh, clon an draibhear HAL coltach ris a tha ann file far a bheil na gnìomhan gu h-ìosal air an cur an gnìomh:
- Cuir an gnìomh fios air ais gnìomhachd stòr-dàta aghaidh agus làimhseachadh thachartasan.
- Siubhail an sealladh algo gu obair le bhith a’ gairm APIan leabharlann oasis.
- Faigh cothrom air stòr-dàta aghaidh neach-cleachdaidh agus stòr-dàta app (chan eil feum air san dreach roimheample).
- Faigh tachartasan bho agus cuir toraidhean gu toradh UI HAL.
Tha na prìomh obraichean gus an HAL a chuir an gnìomh airson an t-seannamptha iad:
- Clone an draibhear HAL coltach ris a bha ann file agus atharraich na h-ainmean co-cheangailte.
- Thoir air falbh na còdan co-cheangailte ri gnìomhachd dàta an aplacaid.
- Ùraich na mìneachaidhean agus na gnìomhan airson a bhith a’ làimhseachadh nan tachartasan bhon toradh UI HAL per the exampdealbhadh.
- Cuir ris na rèiteachaidhean a tha a dhìth ann an tùsachadh oasis.
Tha na ceumannan mionaideach mar a leanas:
- Clone hal_vision_algo_oasis_coffeemachine.c. Atharraich an fileainm gu hal_vision_algo_oasis_guifacerec.c. Agus cuir GUIFaceRec an àite a h-uile sreang CoffeeMachine anns an file.
- Thoir air falbh na còdan anns a bheil an sreang coffeedb (chan eil e mothachail air cùis) co-cheangailte ri stòr-dàta an aplacaid, airson example, # gabhail a-steach hal_sln_coffeedb.h.
- Atharraich an gnìomh HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify() airson a bhith a’ làimhseachadh nan tachartasan bhon toradh UI HAL.
- Atharraich mìneachadh an tachartais kEventFaceRecId_RegisterCoffeeSelection gu kEventFaceRecId_RegisterUserFace agus sreang an structair regCoffeeSelection gu regGUIFaceRec airson làimhseachadh an tachartais gus dàta feart aghaidh ùr a chur ris an stòr-dàta.
- Gus am pròiseas àbhaisteach de ghnìomhan aithneachaidh aghaidh a nochdadh anns an example, atharraich an làimhseachadh ann an cùis kEventFaceRecID_OasisSetState le mìneachaidhean nan stàitean:
- kOASISLiteStàit
- Clàradh kOASISLiteState
- Aithneachadh kOASISLiteState
- Sguir
- Cuir ris agus atharraich na mìneachaidhean air na tachartasan a tha air an ainmeachadh sa cheum gu h-àrd.
- Dèan lethbhreac den cheann-cinnidh file smart_tlhmi_event_descriptor.h bho smart HMI\coffee_machine \cm7\source\event_handlers\ a-steach don phasgan stòr an t-seannample SW. Ùraich an file mar gu h-ìosal:
- Atharraich mìneachadh an tachartais kEventFaceRecId_RegisterCoffeeSelection gu kEventFaceRecId_RegisterUserFace anns an t-seòrsa enum _event_smart_tlhmi_id agus sreang an structair regCoffeeSelection gu regGUIFaceRec anns an struct _event_smart_tlhmi. Mar sin, atharraich an structar register_coffee_selection_event_t airson regCoffeeSelection to register_gui_facerec_event_t.
- Sguab às an stuth eile a chaidh a chleachdadh airson an aplacaid inneal cofaidh, airson example, an loidhne còd mu ghuth: # cuir a-steach “hal_event_descriptor_voice.h”.
- Cuir ris na seòrsaichean kOASISLiteState_Stopped agus kOASISLiteState_Ruith ris an enum type oasis_lite_state_t ann an hal_vision_algo.h fon fhrèam> hal> lèirsinn sa phròiseact mar gu h-ìosal:
typedef enum _oasis_lite_state {- kOASISLiteStàit
- A' ruith, kOASISLiteState
- Sguir, kOASISLiteState
- Aithneachadh,
- kOASISLiteStàit
- Clàradh, kOASISLiteState
- Dì-chlàradh, kOASISLiteState
- Clàradh Iomallach, kOASISLiteState
- Cunnt
- Cleachd an structar ùrachadh gu h-àrd oasis_lite_state_t gus an struct oasis_state_event_t ùrachadh ann an hal_event_descriptor_face_rec.h fo fhrèam> hal> lèirsinn sa phròiseact mar gu h-ìosal: typedef struct _oasis_state_event_t {oasis_lite_state_t state; } oasis_state_event_t;
- Atharraich a h-uile kEventInfo_Remote gu kEventInfo_Local airson tachartasan a chuir bhon lèirsinn algo HAL gu HALan eile a tha a’ ruith air an aon chridhe ri cridhe singilte an àite dà-chridhe air a chleachdadh san t-seannample.
- Cuir ris agus atharraich na rèiteachaidhean gu h-ìosal airson tòiseachadh oasis ann an OASISLT_init ():
- Cuir na mìneachaidhean macro agus na h-earrannan cuimhne airson frèam a’ bhidio ann am 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) \
- __attribute__((earrann(“.bss.$fb_sh_mem,\"aw\",% nobits @")) var
- __atribute__((co-thaobhadh(alignbytes)))
- Dèan rèiteachadh air an t-sònrachadh cuimhne don roinn cuimhne gu h-àrd fb_sh_mem air Pròiseact> Feartan> C / C ++ Tog> Roghainnean MCU air an sealltainn ann am Figear 5:
- Cuir an cèill an caochladair cruinne g_DTCOPBuf ann an lvgl_gui_face_rec_cm7.cpp: AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf[DTC_OPTIMIZE_BUFFER_SIZE], 4);
- Lean air adhart a’ cur ris na mìneachaidhean a chleachdar sa chaochladair gu h-àrd:
- Mìnich an earrann gu h-àrd ann am board_define.h:
- #define AT_NONCACHEABLE_SECTION_ALIGN_DTC(var, alignbytes) \
- feart__((earrann (“.bss.$SRAM_DTC_cm7,\"aw\"",% nobits @")) var
- feart__((co-thaobhadh(alignbytes)))
- Cuir a-steach an ceann-cinn file hal_vision_algo.h anns a bheil am mìneachadh macro DTC_OPTIMIZE_BUFFER_SIZE ann an app_config.h air a ghabhail a-steach ann an lvgl_gui_face_rec_cm7.cpp.
- Cuir na mìneachaidhean macro agus na h-earrannan cuimhne airson frèam a’ bhidio ann am board_define.h: #define OASIS_RGB_FRAME_WIDTH 800
- Suidhich an caochladair s_debugOption gu fìor airson a bhith a’ sealltainn an inbhe adhartais air aithne aghaidh.
- Cuir a-steach slighe sgrùdaidh a’ chinn files den lèirsinn HAL air a’ Phròiseact > Feartan > C/C ++ Togbhail > roghainnean > Roghainnean inneal > Compiler MCU C > A’ gabhail a-steach agus inneal-cruinneachaidh MCU C++ > A’ gabhail a-steach: “${workspace_loc:/${ProjName}/framework/hal/vision}”
- Cuir ris a’ mhìneachadh gu h-ìosal gus sealladh algo HAL a chomasachadh ann am board_define.h: #define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec
Dèan comas air toradh UI HAL
Bidh an toradh UI HAL a’ toirt fios do na tachartasan don lèirsinn algo HAL agus a’ freagairt nan co-dhùnaidhean bhon lèirsinn algo HAL. Leis an app GUI, mar as trice bidh na tachartasan air am piobrachadh leis an aplacaid agus tha na toraidhean air an sealltainn air an aplacaid.
Gus a chomasachadh, clon an draibhear HAL coltach ris a tha ann file far a bheil na gnìomhan gu h-ìosal air an cur an gnìomh san fharsaingeachd:
- Cuir fios gu na tachartasan airson aithne aghaidh agus ruigsinneachd stòr-dàta.
- Cuir an gnìomh fios air ais airson an app GUI gus na tachartasan a bhrosnachadh.
- Làimhseachadh toraidhean co-dhùnaidh bhon mhodal algo lèirsinn.
- Seall pròiseas agus toraidhean làimhseachadh thachartasan air an UI leis a’ bhàr adhartais fo smachd na timers agus ceart-cheàrnach treòrachaidh aghaidh.
Tha na prìomh obraichean gus an HAL a chuir an gnìomh airson an t-seannampTha na leanas air an cleachdadh san sgrìobhainn seo:
- Clone an draibhear HAL coltach ris a bha ann file agus atharraich na h-ainmean co-cheangailte.
- Thoir air falbh na còdan co-cheangailte ris an aplacaid.
- Ùraich na gnìomhan airson fios thachartasan agus freagairt thoraidhean a rèir an exampdealbhadh.
- Cuir ris na fios air ais airson an app GUI gus na tachartasan a bhrosnachadh.
Tha na ceumannan mionaideach mar a leanas:
- Clone hal_output_ui_coffee_machine.c. Atharraich an fileainm gu hal_ output_ui_guifacerec.c.
- Cuir GUIFaceRec an àite a h-uile sreang CoffeeMachine anns an file.
- Thoir air falbh na còdan co-cheangailte ris an aplacaid - inneal cofaidh.
- Thoir air falbh na gnìomhan WakeUp () agus _StandBy () agus na còdan co-cheangailte (faodaidh iad an sreang wake_up a sgrùdadh agus cùl-taic dhaibh).
- Thoir air falbh ro-làimhview tachartasan modh a’ làimhseachadh còdan co-cheangailte ann an HAL_OutputDev_UiGUIFaceRec_Input Notify().
- Thoir air falbh na gnìomhan UI_xxx_Callback() agus na còdan anns a bheil an sreang gui_ agus an sgrion co-cheangailte ri GUI an inneal cofaidh ach a-mhàin gui_set_virtual_face() airson an ro-ràdh.view feart modh.
- Thoir air falbh a h-uile còd a tha an lùib nan caochladairean s_IsWaitingAnotherSelection agus s_IsWaitingRegisterSelection co-cheangailte ris an aplacaid inneal cofaidh.
- Thoir air falbh na còdan co-cheangailte ri guth, claisneachd, agus cànan. Airson example:
- # cuir a-steach “hal_voice_algo_asr_local.h”,
- # cuir a-steach “hal_event_descriptor_voice.h”
- Airson fios mu na diofar thachartasan, cuir an gnìomh na gnìomhan ùra _OutputManagerNotify(), _SetFaceRec(), _RegisterGUIFaceRec(), agus DeregisterGUIFaceRec() a’ toirt iomradh air na gnìomhan _StopFaceRec(), _RegisterCoffeeSelection(), agus DeregisterCoffeeRec() roimhe seo.
- Bidh an _OutputManagerNotify() a’ buileachadh gnìomh toraidh tachartais bunaiteach gus tachartas a chuir chun lèirsinn algo HAL. Canaidh na gnìomhan gu h-ìosal ris na tachartasan aca fhèin a chuir.
- Bidh an _SetFaceRec() a’ cur an tachartas kEventFaceRecID_OasisSetState gus an algo lèirsinn a bhrosnachadh airson clàradh aghaidh, aithneachadh, agus stad an algo.
- Bidh an _RegisterGUIFaceRec() a’ cur an tachartas kEventFaceRecId_RegisterGUIFaceRec a tha air a mhìneachadh ann an smart_tlhmi_event_descriptor.h gus dàta feart aghaidh a chuir ris an stòr-dàta nuair a tha clàradh ceart gu leòr.
- Bidh an DeregisterGUIFaceRec() a’ cur an tachartas kEventFaceRecID_DelUser gus an dàta feart aghaidh a dhubhadh às bhon stòr-dàta nuair a thèid thu seachad air an aithne aghaidh.
- Ùraich na còdan gus na gnìomhan co-fhreagarrach a ghabhail a’ toirt a-steach ùrachadh an GUI le bhith a’ cur fios gu na APIan bhon app LVGL GUI airson toraidhean co-dhùnaidh clàradh aghaidh agus aithneachadh anns a’ ghnìomh _InferComplete_Vision() per the example's dealbhadh. Airson example, nuair a tha clàradh aghaidh soirbheachail,
- Stad le bhith a’ sealltainn an adhartais le bhith a’ fònadh _FaceRecProcess_Stop();
- Cuir stad air a’ chlàradh aghaidh le bhith a’ fònadh _SetFaceRec(kOASISLiteState_Stopped);
- Seall an toradh soirbheachail air an GUI: gui_show_face_rec_result(kFaceRecResult_OK, s_UserId);
- Clàraich an dàta aghaidh chun an stòr-dàta: _RegisterUserFace(s_UserId);
- Cuir gnìomhan gairm air ais UI gus na tachartasan a làimhseachadh: roview, clàradh aghaidh, aithneachadh, agus cuir às don neach-cleachdaidh air a phiobrachadh bhon GUI. Airson example, an gairm clàraidh aghaidh: falamh UI_Registration_Callback(){ _SetFaceRec(kOASISLiteState_Registration); _FaceRecProcess_Start(); }
- Agus cuir ris na gnìomhan _FaceRecProcess_Start () agus _FaceRecProcess_Stop () gus an adhartas agus an inbhe anns na diofar thachartasan agus thoraidhean a shealltainn.
- Ùraich gnìomh gairm air ais ISR an timer _SessionTimer_Callback() gus cùis ùine a-mach a làimhseachadh le bhith a’ gairm: gui_show_face_rec_result(kFaceRecResult_TimeOut, s_UserId);
- Cuir ris na mìneachaidhean gu h-ìosal gus toradh UI HAL a chomasachadh ann am board_define.h: #define ENABLE_OUTPUT_DEV_UiGUIFaceRec
Sanas:
Gus am feart aithne aghaidh a thaisbeanadh nas fheàrr, cùm an gnìomh gus pròiseas agus toraidhean aithne aghaidh a nochdadh anns an toradh UI HAL. Tha an gnìomh air a mhìneachadh mar gu h-ìosal
- Tha an ceart-cheàrnach treòrachaidh aghaidh a’ sealltainn gorm, agus tha am bàr adhartais a’ sealltainn an adhartais nuair a thòisicheas tu air clàradh aghaidh no aithne.
- Tha an ceart-cheàrnach treòrachaidh aghaidh a’ nochdadh dearg nuair a tha clàradh aghaidh soirbheachail.
- Tha an ceart-cheàrnach treòrachaidh aghaidh a’ sealltainn uaine nuair a tha aithne aghaidh soirbheachail.
- Bidh an ceart-cheàrnach treòrachaidh aghaidh a’ cumail gorm, agus tha am bàr adhartais a’ sealltainn làn adhartas nuair nach eil an gnìomh soirbheachail às deidh don timer tighinn gu crìch. Aig an àm sin, stad air clàradh aghaidh no aithne.
Tha am bàr adhartais agus ceart-cheàrnach treòrachaidh aghaidh air an taisbeanadh mar na h-ìomhaighean a tha air an togail a-steach don dàna stòrais file a bhith air am prògramadh gu Flash. Tha na comharran gu dàta nan ìomhaighean air SDRAM air an stèidheachadh anns an gnìomh LoadIcons (APP_ICONS_BASE) ris an canar toradh inneal UI HAL a’ tòiseachadh anns an toradh UI HAL. Feumaidh e taic nan ìomhaighean a chuir an gnìomh airson a’ ghnìomh.
Cuir an gnìomh taic nan ìomhaighean
- Tog an goireas a’ cothlamadh nan ìomhaighean leis na h-ìomhaighean a chleachdar san app LVGL GUI:
- Dèan clone air bann-cinn nan ceithir ìomhaighean files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, agus virtual_face_red_420x426.h bho smart HMI
\ inneal cofaidh \ goireas \ icons \ gu na h-ìomhaighean pasgan ùr fo phasgan ghoireasan an t-seann phasganample SW. - Cuir ris an t-slighe sgrùdaidh airson na ceithir ìomhaigh files anns a’ chamara_preview_goireas.txt file anns a’ phasgan ghoireasan, airson example: icon ../resource/icons/process_bar_240x14.h
- Cuir an gnìomh camera_preview_resource_build.bat gus na goireasan ìomhaighean is ìomhaighean a thogail gus am biona a ghineadh file camara_preview_resource.bin agus am fiosrachadh file resource_information_table.txt (Faic Figear 6).
- Dèan clone air bann-cinn nan ceithir ìomhaighean files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, agus virtual_face_red_420x426.h bho smart HMI
- Mìnich an seòladh tòiseachaidh air SDRAM agus meud nan ìomhaighean ann an app_config.h. Bidh an seòladh a’ tòiseachadh ri taobh ìomhaighean an aplacaid GUI. Tha am meud air a chruthachadh anns an fhiosrachadh file. #define APP_ICONS_BASE (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) #define APP_ICONS_SIZE 0x107c40
- Ùraich meud ainmichte na h-earrainn cuimhne ainmichte res_sh_mem gu 0x200000 le bhith ga ath-mhìneachadh ann an app_config.h: #define RES_SHMEM_TOTAL_SIZE 0x200000 agus an suidheachadh co-fhreagarrach ann am Pròiseact> Properties> C / C ++ Tog> roghainnean MCU.
- Cuir meud an ìomhaigh ri meud iomlan a’ ghoireas a chaidh a luchdachadh bho Flash gu SDRAM anns a’ ghnìomh APP_LoadResource() sa phrìomh file lvgl_gui_face_rec_cm7.cpp: memcpy ((falamh *) APP_LVGL_IMGS_BASE, pLvglImages, APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE);
Sanas: Gus am feart aithne aghaidh a chrìochnachadh, tha feum air taic app LVGL GUI. Tha na gnìomhan gairm air ais UI anns an toradh UI HAL air an gairm leis an app LVGL GUI airson a bhith a’ làimhseachadh nan tachartasan bhon sgrion UI. Air an làimh eile, bidh an toradh UI HAL a’ gairm na APIan bhon app LVGL GUI gus an UI ùrachadh gus an toradh agus an inbhe a nochdadh. Tha leasachadh an app LVGL GUI an ìre mhath neo-eisimeileach agus air a thoirt a-steach ann an Earrann 4.3.
4.1.5 Tòisich innealan agus manaidsearan HAL airson aithne aghaidh
Tha an sealladh comasach algo HAL agus toradh UI HAL agus na manaidsearan aca air tòiseachadh sa mhòr-chuid file
lvgl_gui_face_rec_cm7.cpp às deidh na h-atharrachaidhean leasachaidh air an fhrèam mar gu h-ìosal:
- Cuir a-steach an ceann-cinn file co-cheangailte ris an dà mhanaidsear HAL le bhith a’ cur loidhne a’ chòd ris:
- # cuir a-steach "fwk_output_manager.h"
- # cuir a-steach “fwk_vision_algo_manager.h”
- Cuir an cèill na h-innealan HAL:
- HAL_VALGO_DEV_DECLARE(OasisGUIFaceRec);
- HAL_OUTPUT_DEV_DECLARE(UiGUIFaceRec);
- Clàraich na h-innealan HAL:
- HAL_VALGO_DEV_REGISTER(OasisGUIFaceRec, ret);
- HAL_OUTPUT_DEV_REGISTER(UiGUIFaceRec, ret);
- Tòisich na manaidsearan:
- FWK_MANAGER_INIT(VisionAlgoManager, ret);
- FWK_MANAGER_INIT(OutputManager, ret);
- Tòisich na manaidsearan:
- FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, ath);
- FWK_MANAGER_START(Manaidsear Toraidh, OUTPUT_MANAGER_TASK_PRIORITY, ath);
- Mìnich prìomhachas gnìomhan manaidsear:
- #define VISION_ALGO_MANAGER_TASK_PRIORITY 3
- #define OUTPUT_MANAGER_TASK_PRIORITY 1
Cuir taic stòr-dàta aghaidh ris an fhrèam
Gheibhear a-steach don dàta feart aghaidh clàraichte anns an stòr-dàta aghaidh a tha air a stòradh air Flash tro beagan file siostam. Tha na ceumannan gus taic stòr-dàta aghaidh a chur ris air am mìneachadh gu h-ìosal.
Cuir a-steach draibhearan airson stòradh flash
Dèan lethbhreac den draibhear FlexSPI eadar-aghaidh Flash files fsl_flexspi.c agus fsl_flexspi.h, agus an dràibhear crioptachadh dàta files fsl_caam.c agus fsl_caam.h bhon t-slighe SDK_2_13_0_MIMXRT1170-EVK\devices\MIMRX1176\drivers\ gu pasgan draibhearan an t-seannample SW.
Cuir taic ìre bùird ris
- Cuir ris na mìneachaidhean air FlexSPI a chaidh a chleachdadh airson an inneal Flash air bòrd ann am board.h:
- #define BOARD_FLEXSPI FLEXSPI1
- #define BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1
- #define BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE
- Dèan lethbhreac de na gnìomhaichean agus na rèiteachaidhean files den inneal Flash flexspi_nor_flash_ops.c, flexspi_nor_flash_ops.h, sln_flash_config.c, sln_flash_config_w25q256jvs.h, andsln_flash_ops.h fon t-slighe smart HMI\coffee_machine\_7\source\toflash pasgan am pasganample SW.
- Uncheck “Cuir a-mach goireas bho thogail” ann an C / C ++ Tog> Roghainnean às deidh dhut briogadh deas air an files’ ainm agus fosgladh nan Togalaichean airson a bhith comasach air an togail a-steach don phròiseact.
- Atharraich an ceann-cinn a tha air a ghabhail a-steach fileainm sln_flash_config.h gu sln_flash_config_w25q256jvs.h ann an sln_flash_config.c agus flexspi_nor_flash_ops.h.
- Suidhich stòr cloc FlexSPI1 anns an file clock_config.c a 'toirt iomradh air an aplacaid inneal cofaidh.
Cuir adapter agus taic meadhan-ìre ris
- Dèan lethbhreac dhen files sln_flash.c, sln_flash.h, sln_encrypt.c, agus sln_encrypt.h mar dhraibhearan adapter airson an file siostam agus app bho shlighe smart HMI \ coffee_machine \ cm7 \ source \ gu stòr pasgan an t-seannample. Ùraich an tè ùr files:
- Uncheck “Cuir a-mach goireas bho thogail” orra airson togail.
- Atharraich a h-uile bann-cinn a tha air a ghabhail a-steach file ainm sln_flash_config.h gu sln_flash_config_w25q256jvs.h.
- Dèan lethbhreac den phasgan filesiostam anns a bheil na APIan airson a’ bhig filesiostam agus draibhear HAL bho smart HMI \ coffee_machine \ cm7 \ source \ to the example SW. Agus ùrachadh airson am pasgan ùr:
- Uncheck “Cuir a-mach goireas bho thogail” air airson togail.
- Cuir an t-slighe gabhail a-steach air a shon ann an roghainnean a’ phròiseict: “${workspace_loc:/${ProjName}/filesiostam}”
- Atharraich an ceann-cinn a tha air a ghabhail a-steach file ainm sln_flash_config.h gu sln_flash_config_w25q256jvs.h agus fica_definition.h gu app_config.h anns an file sln_flash_littlefs.h.
- Dèan lethbhreac den phasgan littlefs anns a bheil am bathar meadhanach - beag filesiostam bhon t-slighe SDK_2_13_0_ MIMXRT1170-EVK\middleware\ chun an t-seannample SW. Agus ùraich am pasgan ùr:
- Uncheck “Cuir a-mach goireas bho thogail” air airson togail.
- Cuir an t-slighe a-steach air a shon ann an roghainnean a’ phròiseict: “${workspace_loc:/${ProjName}/littlefs}”
Cuir draibhearan HAL ris
- Tha dà inneal HAL ann - file siostam agus stòr-dàta aghaidh le taic HAL airson feart ruigsinneachd stòr-dàta agus tha iad mar-thà air an cur an gnìomh san fhrèam gun atharrachadh sam bith. Dèan comas dhaibh le bhith a’ cur na mìneachaidhean gu h-ìosal ann am board_define.h:
- #define ENABLE_FLASH_DEV_Littlefs
- #define ENABLE_FACEDB
Agus atharraich ainm an stòr-dàta aghaidh airson an example: #define OASIS_FACE_DB_DIR “oasis_gui_face_rec”
Cuir taic ìre app ris
- Luchdaich a-nuas am prìomh-fhacal file lvgl_gui_face_rec_cm7.cpp:
- Cuir a-steach an ceann-cinn file co-cheangailte ris an Flash file manaidsear siostam HAL le bhith a’ cur loidhne a’ chòd ris: # cuir a-steach “fwk_flash.h”
- Cuir an cèill agus clàraich file inneal HAL siostam:
- HAL_FLASH_DEV_DECLARE(Littlefs);
- HAL_FLASH_DEV_REGISTER(Littlefs, ret);
Thoir an aire: an file feumaidh inneal HAL siostam a bhith clàraichte mus tèid a h-uile manaidsear inneal a thòiseachadh anns an gnìomh APP_InitFramework ().
- Cuir fòn gu gnìomh BOARD_ConfigMPU () ann an APP_BoardInit () gus MPU a rèiteachadh.
- Suidhich an file sònrachadh siostam air Flash anns an file app_config.h le bhith a’ mìneachadh nam mìneachaidhean macro a thathar a’ cleachdadh anns an fhaidhle file sln_flash_littlefs.h:
- #define FICA_IMG_FILE_SYS_ADDR (FLASH_IMG_SIZE + RES_SHMEM_TOTAL_SIZE)
- #sònrachadh FICA_FILE_SYS_SIZE (0x280000)
rèiteachaidhean
Tha cuid de chòdan co-cheangailte ri Flash air an cur gu bàs ann an raon SRAM ITC airson coileanadh gu leòr. Dèan lethbhreac de na ceanglaichean pasgan anns a bheil na rèiteachaidhean ceangail bhon t-slighe smart HMI\coffee_machine\cm7\ chun an t-seannample SW.
Cuir an gnìomh app LVGL GUI
Bidh leasachadh app LVGL GUI stèidhichte air frèam a’ gairm na APIan bho thoraidhean UI HAL agus a’ toirt seachad na APIan gu UI HAL a thoirt a-mach (Faic Earrann 4.1.3 airson buileachadh toradh UI HAL).
Ach, tha buileachadh mionaideach app LVGL GUI an urra ri riatanasan agus dealbhadh an tagraidh. Tha an app GUI san t-seann seoample air a dhealbhadh mar a chaidh a mhìneachadh aig toiseach earrann Earrann 4.
Gu h-ìosal tha na ro-ràdhan gnìomhachaidh:
- Tha na còdan gnàthaichte air an cur an gnìomh anns an custom.c agus custom.h a thug GUI Guider seachad mar an eadar-aghaidh eadar pròiseact GUI Guider agus am pròiseact siostam freumhaichte.
- Cuir na gnìomhan ùra ris an canar gui_xxx() ann an custom.c gus na gnìomhan gu h-ìosal a choileanadh:
- Airson toradh UI HAL agus app GUI gus UI ùrachadh.
- Airson app GUI gus tachartasan a bhrosnachadh le bhith a’ gairm gnìomhan gairm air ais UI bho thoraidhean UI HAL.
Airson example, tha an gnìomh ùr gui_event_face_rec_action () a’ gairm gnìomhan gairm air ais UI gus aon de na tachartasan de chlàradh aghaidh, aithneachadh aghaidh agus cuir às don neach-cleachdaidh a chaidh a bhrosnachadh bhon app GUI nuair a thèid am putan co-cheangailte a bhriogadh.
Nota: An gnìomh gui_set_virtual_face () ris an canar ann an toradh UI HAL airson roview feumar modh a chuir an gnìomh ann an custom.c:
- Gnìomh clone gui_set_virtual_face() bho smart HMI\coffee_machine\cm4\custom\custom.c.
- Atharraich ainm a’ widget home_img_cameraPreview gu screen_img_camera_preview anns a' ghnìomh.
- Cuir an gnìomh gnìomhan gairm air ais UI leis an aon prototype ris a h-uile duine ann an toradh UI HAL fo smachd a ’mhìneachaidh macro #ifndef RT_PLATFORM ann an custom.c airson a bhith co-chòrdail ris a’ phròiseact GUI Guider oir tha na gnìomhan sin ann an toradh UI HAL an urra ris an àrd-ùrlar freumhaichte. Ann an custom.c, tha iad an urra ris an simuladair air GUI guider agus tha iad neo-eisimeileach don àrd-ùrlar freumhaichte. Airson example, tha an gairm clàraidh aghaidh air a chuir an gnìomh mar gu h-ìosal airson an simuladair GUI Guider a tha a’ ruith: #ifndef RT_PLATFORM void UI_Registration_Callback() { gui_hide_del_user_btn(true); s_InAction = meallta; tilleadh; }
Thoir an aire: Thoir sùil air an aon prototype den ghnìomh a chaidh a thoirt a-steach ann an ceum 6 de Earrann 4.1.3
Tha am mìneachadh macro RT_PLATFORM air a shuidheachadh air roghainnean pròiseict MCUXpresso mar a chithear ann am Figear 7: - Cuir an cèill a h-uile gnìomh leis an ainm UI_xxx_Callback() agus gui_xxx() ann an custom.h agus cuir custom.h air a ghabhail a-steach ann an smart_tlhmi_event_descriptor.h gus na APIan GUI a cho-roinn gu toradh UI HAL.
- Cuir na gnìomhan ùra ris an canar gui_xxx() ann an custom.c gus na gnìomhan gu h-ìosal a choileanadh:
- Leasaich an GUI air GUI Guider:
- Clone an camara pasgan roview anns a bheil bathar-bog pròiseact GUI Guider anns a’ phasgan gui_guider sa phasgan bathar-bog bunaiteach lvgl_gui_camera_preview_cm7. Atharraich an t-ainm co-cheangailte camera_preview ri face_rec airson an t-seann fhear ùrample.
- Dèan lethbhreac den custom.c ùraichte agus gnàthaichte. h gu bathar-bog pròiseact ùr GUI Guider.
- Fosgail am pròiseact face_rec ùr air GUI Guider. Ùraich mar gu h-ìosal:
- Cuir ris a’ phutan ùr leis an ainm Sguab às Cleachdaiche. Cuir a’ bhratach falaichte ris gus am bi am putan falaichte nuair a thòisicheas an aplacaid GUI.
- Cuir ris an loidhne còd de bhith a’ gairm an API gui_event_face_rec_action () le paramadair ID tachartais eadar-dhealaichte air an inneal-brosnachaidh “Air a leigeil ma sgaoil” ann an suidheachadh Tachartas de na putanan gu lèir Clàradh, Aithneachadh agus cuir às do chleachdaiche airson tachartasan clàraidh aghaidh, aithneachadh aghaidh agus cuir às don neach-cleachdaidh. Tha Figear 8 a’ sealltainn a’ chòd airson tachartas a’ phutan Clàradh:
- Ùraich an còd a chaidh a chruthachadh bho GUI Guider gu pròiseact MCUXpresso.
- Cuir an àite an t-susbaint ach a-mhàin na h-ìomhaighean pasgan sa phasgan a chaidh a chruthachadh de phròiseact MCUXpresso SW leis an fheadhainn co-fhreagarrach sa phasgan a chaidh a chruthachadh de phròiseact GUI Guider SW.
Thoir an aire: Airson tuilleadh fiosrachaidh mu na h-atharrachaidhean a chaidh a thoirt a-steach gu h-àrd, thoir sùil air an example bathar-bog aig https://mcuxpresso.nxp.com/appcodehub.
Dearbhaidhean leis an example pròiseact
Gus an example pasgan bathar-bog anns a bheil na goireasan agus na h-innealan airson an nota tagraidh seo, tadhal air: https://mcuxpresso.nxp.com/appcodehub. Fosgail an example pròiseact air MCUXpresso IDE. Tog agus prògram an .axf file chun t-seòladh 0x30000000 agus prògram am biona stòrais file camara_preview_resource.bin chun t-seòladh 0x30800000.
Tha aithne aghaidh LVGL GUI exampbidh le ag obair gu h-àbhaisteach mar a leanas:
- Ro-làimhview: Le cumhachd suas, tha na sruthan bhidio a ghlac an camara a 'sealltainn air an raon sònraichte de chamara roview air an sgrion GUI. Tha an leubail inbhe a’ taisbeanadh “Preview…”. Airson mion-fhiosrachadh, faic Figear 3. Tha am putan Sguab às Cleachdaiche falaichte. Nuair a phutas tu air an raon taobh a-muigh nam putanan agus na h-ìomhaighean, tha e a’ sealltainn an roview innis mar a tha gu h-àrd às deidh don ghnìomh clàraidh no aithneachaidh crìochnachadh.
- Clàradh:
- tartup: Nuair a thèid am putan Clàraidh a bhriogadh, tòisichidh an clàradh aghaidh. Bidh an leubail inbhe ag atharrachadh gu bhith a’ taisbeanadh “Clàradh…”, tha ceart-cheàrnach an iùil aghaidh a’ sealltainn gorm, agus tha am bàr adhartais a’ tòiseachadh a’ sealltainn an adhartais. Dèan cinnteach gu bheil aghaidh an neach-cleachdaidh a 'sealltainn a-steach don ceart-cheàrnach stiùiridh aghaidh gorm airson clàradh.
- soirbheas: Tha an leubail inbhe a’ sealltainn “Clàradh… OK” agus an àireamh ID cleachdaiche clàraichte, bidh ceart-cheàrnach an iùil aghaidh a’ fàs dearg ma shoirbhicheas leis a’ chlàradh aghaidh mus nochd an adhartas làn air a’ bhàr.
- Fàilligeadh -> Ùine a-muigh: Tha an leubail inbhe a’ sealltainn “Clàradh… Ùine a-mach” ma dh’ fhàillig an clàradh aghaidh fhathast nuair a tha an adhartas a’ nochdadh làn air a’ bhàr.
- Fàilligeadh -> dùblachadh: Tha an leubail inbhe a’ sealltainn “Clàradh… Dh’fhàillig”, bidh ceart-cheàrnach an iùil aghaidh a’ fàs uaine ma thèid an aghaidh clàraichte aithneachadh mus nochd an adhartas làn air a’ bhàr.
- aithne:
- Tòiseachadh: Nuair a thèid am putan Aithne a bhriogadh, tòisichidh an aithne aghaidh. Bidh an leubail inbhe ag atharrachadh gu bhith a’ taisbeanadh “Aithneachadh…”, tha ceart-cheàrnach an iùil aghaidh a’ sealltainn gorm, agus tha am bàr adhartais a’ tòiseachadh a’ sealltainn an adhartais. Dèan cinnteach gu bheil aghaidh an neach-cleachdaidh air a shealltainn anns an ceart-cheàrnach stiùiridh aghaidh gorm airson clàradh.
- soirbheas: Tha an leubail inbhe a’ sealltainn “Aithneachadh… OK” agus an àireamh ID cleachdaiche aithnichte, bidh an ceart-cheàrnach treòrachaidh aghaidh a’ fàs uaine ma shoirbhicheas leis an aithneachadh aghaidh mus nochd an adhartas làn air a’ bhàr. Aig a’ phuing, nochdaidh am putan Sguab às Cleachdaiche. Tha e a 'ciallachadh gu bheil cead aig an neach-cleachdaidh a bhith air a sguabadh às ach nuair a thèid aithneachadh.
- tinneas: Tha an leubail inbhe a’ sealltainn “Aithneachadh… Ùine a-mach” ma dh’ fhàillig an aithne aghaidh fhathast nuair a tha an adhartas a’ nochdadh làn air a’ bhàr.
- Sguab às Cleachdaiche: Nuair a thèid am putan “Sguab às Cleachdaiche” a bhriogadh, às deidh don aithneachadh aghaidh a bhith soirbheachail, bidh an leubail inbhe ag atharrachadh gus “Sguab às Cleachdaiche…OK” a thaisbeanadh leis an ceart-cheàrnach iùil aghaidh a’ fàs gorm agus an adhartas a’ nochdadh làn air a’ bhàr. Tha am putan Sguab às Cleachdaiche falaichte a-rithist. Tha an aghaidh/cleachdaiche aithnichte air a sguabadh às an stòr-dàta. Tha e a’ ciallachadh nach urrainnear an aghaidh/neach-cleachdaidh seo aithneachadh gus an tèid a chlàradh a-rithist.
Nota mun chòd tùsail san sgrìobhainn
Examptha na dlighe-sgrìobhaidh agus an cead BSD-3-Clause a leanas aig a’ chòd a chithear san sgrìobhainn seo:
Dlighe-sgrìobhaidh 2024 NXP Tha ath-sgaoileadh agus cleachdadh ann an foirmean stòr agus binary, le no às aonais atharrachadh, ceadaichte fhad ‘s a thèid na cumhaichean a leanas a choileanadh:
- Feumaidh ath-sgaoileadh còd stòr am fios dlighe-sgrìobhaidh gu h-àrd, an liosta chumhachan seo agus an àicheadh a leanas a chumail.
- Feumaidh ath-sgaoileadh ann an cruth binary an fios dlighe-sgrìobhaidh gu h-àrd ath-riochdachadh, feumar an liosta seo de chumhachan agus an t-àicheadh a leanas anns na sgrìobhainnean agus / no stuthan eile a thoirt seachad leis an sgaoileadh.
- Chan fhaod ainm neach-gleidhidh an dlighe-sgrìobhaidh no ainmean an luchd-tabhartais a bhith air a chleachdadh gus taic a thoirt dha no adhartachadh bathar a thàinig bhon bhathar-bog seo gun chead sgrìobhte sònraichte ro-làimh.
Tha am bathar-bog seo air a sholarachadh le luchd-seilbh chòraichean-lethbhreac agus luchd-tabhartais “mar a tha” AGUS BARANTAS PUINGEAN NO GNÌOMHACHAIS, A’ toirt a-steach, ach gun a bhith cuibhrichte ri, BARANTAS AIRSON BHARANTAS AIRSON BHARANTAS AGUS fhreagarrachd airson adhbhar sònraichte. Cha bhi an neach aig a bheil còir-chòir no luchd-tabhartais cunntachail airson Dìth dhìreach, neo-dhìreach, tachartach, shònraichte, shònraichte, no iar-dhèante (a' gabhail a-steach, ach gun a bhith cuingealaichte ri, A' TUILLEADH BHARRACHD, A' CLEACHDADH BHARRACHD, A' CLEACHDADH NEO-CHUNNTAS, A' CLEACHDADH BHARRACHD, A' CLEACHDADH NEO; NO Briseadh Gnothachais) A dh’ adhbhraich agus a dh’ aindeoin teòiridh sam bith mu dhleasdanas, ge bith an ann an cùmhnant, uallaich teann, no tort (a’ gabhail a-steach dearmad no eile) ag èirigh ann an dòigh sam bith a-mach à cleachdadh a’ bhathar-bhog SEO, eadhon ged a bhiodh e iomchaidh.
Eachdraidh ath-sgrùdaidhean
Fiosrachadh laghail
Mìneachaidhean
Dreach - Tha dreachd inbhe air sgrìobhainn a’ nochdadh gu bheil an susbaint fhathast fo review agus le ùmhlachd do chead foirmeil, a dh'fhaodadh leantainn gu atharrachaidhean no cur-ris. Cha bhith NXP Semiconductors a’ toirt seachad riochdachadh no barantas sam bith a thaobh cruinneas no iomlanachd an fhiosrachaidh a tha air a ghabhail a-steach ann an dreach dreach de sgrìobhainn agus cha bhith uallach orra airson buaidh cleachdadh an fhiosrachaidh sin.
Àicheadh
- Barantas cuibhrichte agus buailteachd - Thathas a’ creidsinn gu bheil am fiosrachadh san sgrìobhainn seo ceart agus earbsach. Ach, cha bhith NXP Semiconductors a’ toirt seachad riochdachaidhean no barantas sam bith, air an cur an cèill no air an tuigsinn, a thaobh cruinneas no iomlanachd an fhiosrachaidh sin agus cha bhith uallach orra airson buaidh cleachdadh an fhiosrachaidh sin. Chan eil NXP Semiconductors a’ gabhail uallach sam bith airson susbaint na sgrìobhainn seo ma thèid a thoirt seachad le stòr fiosrachaidh taobh a-muigh NXP Semiconductors.
Cha bhith uallach air NXP Semiconductors ann an suidheachadh sam bith airson milleadh neo-dhìreach, tuiteamach, peanasach, sònraichte no leantainneach (a’ gabhail a-steach - gun chuingealachadh - prothaidean caillte, sàbhalaidhean caillte, briseadh gnìomhachais, cosgaisean co-cheangailte ri toirt air falbh no ath-nuadhachadh thoraidhean no cosgaisean ath-obrach) co-dhiù. no nach eil an leithid de mhilleadh stèidhichte air tort (a’ gabhail a-steach dearmad), barantas, briseadh cùmhnant no teòiridh laghail sam bith eile.
A dh’ aindeoin milleadh sam bith a dh’ fhaodadh a bhith aig neach-ceannach airson adhbhar sam bith, bidh uallach iomlan agus tionalach NXP Semiconductors a dh’ ionnsaigh teachdaiche airson na toraidhean a tha air am mìneachadh an seo a rèir teirmichean is cumhaichean reic malairteach NXP Semiconductors. - Ceart atharrachaidhean a dhèanamh - Bidh NXP Semiconductors a’ gleidheadh na còrach atharrachaidhean a dhèanamh air an fhiosrachadh a chaidh fhoillseachadh san sgrìobhainn seo, a’ toirt a-steach gun chuingealachadh mion-chomharrachadh agus tuairisgeulan toraidh, aig àm sam bith agus gun rabhadh. Tha an sgrìobhainn seo a’ dol an àite agus a’ dol an àite a h-uile fiosrachadh a chaidh a thoirt seachad mus deach fhoillseachadh an-seo.
- Freagarrachd airson a chleachdadh - Chan eil toraidhean NXP Semiconductors air an dealbhadh, air an ùghdarrachadh no air am barantas a bhith freagarrach airson an cleachdadh ann an taic beatha, siostaman no uidheamachd a tha deatamach do bheatha no a tha deatamach airson sàbhailteachd, no ann an tagraidhean far am faodar a bhith an dùil gu reusanta gun tig fàilligeadh no mì-ghnàthachadh ann an toradh NXP Semiconductors. leòn pearsanta, bàs no droch sheilbh no milleadh àrainneachdail. Chan eil NXP Semiconductors agus an solaraichean a’ gabhail ri uallach sam bith airson a bhith a’ toirt a-steach agus / no a’ cleachdadh thoraidhean NXP Semiconductors ann an uidheamachd no tagraidhean mar sin agus mar sin tha in-ghabhail agus / no cleachdadh mar sin an urra ris an neach-ceannach fhèin.
- Iarrtasan - Tha tagraidhean a tha air am mìneachadh an seo airson gin de na toraidhean sin airson adhbharan mìneachaidh a-mhàin. Chan eil NXP Semiconductors a’ toirt riochdachadh no barantas sam bith gum bi tagraidhean mar sin freagarrach airson an cleachdadh ainmichte gun tuilleadh deuchainn no atharrachadh.
Tha uallach air luchd-ceannach airson dealbhadh agus obrachadh an tagraidhean agus am bathar a’ cleachdadh toraidhean NXP Semiconductors, agus chan eil NXP Semiconductors a’ gabhail ri uallach sam bith airson taic sam bith le tagraidhean no dealbhadh toraidh teachdaiche. Tha e an urra ris an neach-ceannach a-mhàin faighinn a-mach a bheil an toradh NXP Semiconductors freagarrach agus iomchaidh airson tagraidhean agus toraidhean an neach-ceannach a tha san amharc, a bharrachd air a bhith a’ cleachdadh agus a ’cleachdadh neach-ceannach treas-phàrtaidh an neach-ceannach. Bu chòir do luchd-ceannach dìonan dealbhaidh is obrachaidh iomchaidh a thoirt seachad gus na cunnartan co-cheangailte ris na tagraidhean agus na toraidhean aca a lughdachadh. Cha bhith NXP Semiconductors a’ gabhail ri uallach sam bith co-cheangailte ri dearmad, milleadh, cosgaisean no duilgheadas sam bith a tha stèidhichte air laigse no dearmad sam bith ann an tagraidhean no toraidhean an neach-ceannach, no tagradh no cleachdadh le teachdaiche (ean) treas-phàrtaidh an neach-ceannach. Tha e an urra ris an neach-ceannach a h-uile deuchainn riatanach a dhèanamh airson tagraidhean agus toraidhean an neach-ceannach a’ cleachdadh toraidhean NXP Semiconductors gus dearmad a dhèanamh air na tagraidhean agus na toraidhean no an tagradh no an cleachdadh le teachdaiche (ean) treas-phàrtaidh an neach-ceannach. Cha bhith NXP a’ gabhail ri uallach sam bith a thaobh seo. - Teirmean is cumhaichean reic malairteach - Bithear a’ reic toraidhean NXP Semiconductors a rèir teirmichean is cumhaichean coitcheann reic malairteach, mar a chaidh fhoillseachadh aig https://www.nxp.com/profile/ teirmichean, mura h-aontaichear a chaochladh ann an aonta sgrìobhte fa leth dligheach. Ma thig aonta fa-leth gu crìch cha bhi ach teirmichean is cumhaichean an aonta fa leth an sàs. Tha NXP Semiconductors le seo gu sònraichte an aghaidh a bhith a’ cur an gnìomh teirmichean is cumhaichean coitcheann an neach-ceannach a thaobh ceannach stuthan NXP Semiconductors le teachdaiche.
- Smachd às-mhalairt - Faodaidh an sgrìobhainn seo a bharrachd air an rud / na nithean a tha air am mìneachadh an seo a bhith fo smachd riaghailtean smachd às-mhalairt. Is dòcha gum feum às-mhalairt cead ro-làimh bho ùghdarrasan comasach.
- Freagarrachd airson a chleachdadh ann am bathar le teisteanas neo-chàraichean - Mura h-eil an sgrìobhainn seo ag ràdh gu soilleir gu bheil an toradh sònraichte NXP Semiconductors seo teisteanasach airson càraichean, chan eil an toradh freagarrach airson cleachdadh chàraichean. Chan eil e teisteanasach no deuchainneach a rèir riatanasan deuchainn chàraichean no tagradh. Chan eil NXP Semiconductors a’ gabhail ri uallach sam bith airson a bhith a’ toirt a-steach agus / no a’ cleachdadh thoraidhean le teisteanas neo-chàraichean ann an uidheamachd no tagraidhean chàraichean.
Ma chleachdas neach-ceannach an toradh airson dealbhadh a-steach agus a chleachdadh ann an tagraidhean chàraichean a rèir mion-chomharrachadh agus inbhean chàraichean, cleachdaidh neach-ceannach (a) an toradh às aonais barantas NXP Semiconductors mun toradh airson a leithid de thagraidhean, cleachdadh agus mion-chomharrachadh chàraichean, agus (a) b) nuair a chleachdas neach-ceannach an toradh airson tagraidhean chàraichean taobh a-muigh mion-chomharrachadh NXP Semiconductors bidh cleachdadh mar sin dìreach an urra ris an neach-ceannach fhèin, agus (c) bidh an neach-ceannach a’ faighinn làn shaoradh NXP Semiconductors airson buailteachd, milleadh no tagraidhean toraidh air fàiligeadh mar thoradh air dealbhadh teachdaiche agus cleachdadh de an toradh airson tagraidhean chàraichean nas fhaide na barantas àbhaisteach NXP Semiconductors agus mion-chomharrachadh toraidh NXP Semiconductors. - Eadar-theangachaidhean - Tha dreach neo-Bheurla (eadar-theangaichte) de sgrìobhainn, a’ gabhail a-steach am fiosrachadh laghail san sgrìobhainn sin, airson fiosrachadh a-mhàin. Bidh an dreach Beurla ann ma bhios eadar-dhealachadh sam bith eadar na dreachan eadar-theangaichte agus Beurla.
- Tèarainteachd - Tha an neach-ceannach a’ tuigsinn gum faodadh a h-uile toradh NXP a bhith fo ùmhlachd so-leòntachd neo-aithnichte no gum faodadh iad taic a thoirt do inbhean tèarainteachd stèidhichte no sònrachaidhean le crìochan aithnichte. Tha uallach air an neach-ceannach airson dealbhadh agus obrachadh a thagraidhean agus a thoraidhean tro na cuairtean-beatha aca gus buaidh nan so-leòntachd sin air tagraidhean agus toraidhean teachdaiche a lughdachadh. Tha uallach teachdaiche cuideachd a’ leudachadh gu teicneòlasan fosgailte agus/no seilbh eile le taic bho thoraidhean NXP airson an cleachdadh ann an tagraidhean teachdaiche. Chan eil NXP a’ gabhail ri uallach sam bith airson so-leòntachd sam bith. Bu chòir do luchd-ceannach sùil a chumail gu cunbhalach air ùrachaidhean tèarainteachd bho NXP agus leantainn orra gu h-iomchaidh. Taghaidh an neach-ceannach toraidhean le feartan tèarainteachd as fheàrr a choinnicheas ri riaghailtean, riaghailtean, agus inbhean an tagraidh a tha san amharc agus nì iad na co-dhùnaidhean dealbhaidh deireannach a thaobh a thoraidhean agus a tha dìreach an urra ri gèilleadh ris na riatanasan laghail, riaghlaidh agus tèarainteachd co-cheangailte ris na toraidhean aige, ge bith. fiosrachadh no taic sam bith a dh’ fhaodadh a bhith air a thoirt seachad le NXP.
Tha Sgioba Freagairt Tachartas Tèarainteachd Bathar (PSIRT) aig NXP (ruigsinneach aig PSIRT@nxp.com) a bhios a’ riaghladh sgrùdadh, aithris, agus fuasgladh fuasglaidh do chugallachd tèarainteachd thoraidhean NXP.
NXP BV - Chan e companaidh obrachaidh a th’ ann an NXP BV agus cha bhith iad a’ cuairteachadh no a’ reic thoraidhean.
Comharran-malairt
Sanas: Is ann leis an luchd-seilbh aca a tha a h-uile suaicheantas ainmichte, ainmean toraidh, ainmean seirbheis agus comharran-malairt.
NXP - tha comharra-fhacal agus suaicheantas nan comharran-malairt de 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 - nan comharran-malairt agus/no nan comharran-malairt clàraichte aig Arm Limited (no na fo-chompanaidhean no na cleamhnaichean aige) anns na SA agus/no àite eile. Faodaidh an teicneòlas co-cheangailte a bhith air a dhìon le gin de na peutantan, dlighe-sgrìobhaidh, dealbhadh agus dìomhaireachd malairt. Còraichean uile glèidhte.
- i.MX - na chomharra-malairt de NXP BV
- J-Ceangal - na chomharra-malairt de SEGGER Microcontroller GmbH.
Tha Microsoft, Azure, agus ThreadX - nan comharran-malairt de bhuidheann chompanaidhean Microsoft.
Thoir an aire gu bheil fiosan cudromach a thaobh na sgrìobhainn seo agus an toradh / na toraidhean a tha air am mìneachadh an seo, air an toirt a-steach don earrainn ‘Fiosrachadh laghail’.
© 2024 NXP BV
Airson tuilleadh fiosrachaidh, tadhal air: https://www.nxp.com
- Ceann-latha foillseachaidh: 19 Giblean 2024
- Aithneadair sgrìobhainnean: AN14263
Ceistean Cumanta
C: Dè am prìomh adhbhar a tha aig an toradh seo?
A: Is e am prìomh adhbhar gnìomh aithne aghaidh a chomasachadh a’ cleachdadh modal algorithm lèirsinn AI&ML le LVGL GUI ex sìmplidh.ample air bòrd SLN-TLHMI-IOT.
C: Ciamar a gheibh luchd-leasachaidh buannachd às an nota tagraidh seo?
A: Faodaidh luchd-leasachaidh ionnsachadh mar a chuireas iad aithne aghaidh an gnìomh air an fhrèam ceum air cheum a’ cleachdadh an t-seann fhiosrachadh a chaidh a thoirt seachadample agus tuig na manaidsearan innealan, innealan HAL, agus na dòighean tachartais a tha na lùib.
Sgrìobhainnean/Goireasan
![]() |
NXP AN14263 Cuir an gnìomh Aithneachadh Aghaidh LVGL GUI air Framewor [pdfStiùireadh Cleachdaiche AN14263 Cuir an gnìomh Aithneachadh Aghaidh LVGL GUI air Framewor, AN14263, Cuir an gnìomh Aithneachadh Aghaidh LVGL GUI air Frèam, Aithneachadh Aghaidh LVGL GUI air Frèam, Aithneachadh Aghaidh air Frèam, Aithneachadh air Framewor, Framewor |