NXP AN13948 Ṣiṣẹpọ Ohun elo LVGL GUI sinu Itọsọna olumulo Platform Smart HMI
NXP AN13948 Ṣiṣẹpọ LVGL GUI Ohun elo sinu Smart HMI Platform

Ọrọ Iṣaaju

NXP ti ṣe ifilọlẹ ohun elo idagbasoke ojutu kan ti a npè ni SLN-TLHMI-IOT. O dojukọ awọn ohun elo HMI ọlọgbọn ti o ni awọn ohun elo meji - ẹrọ kọfi ati elevator (ohun elo nronu ọlọgbọn n bọ laipẹ).
Lati pese alaye si olumulo, diẹ ninu awọn iwe ipilẹ wa ninu, fun example, Olùgbéejáde guide.
Itọsọna naa ṣafihan apẹrẹ sọfitiwia ipilẹ ati faaji ti awọn ohun elo ti o bo gbogbo awọn paati ojutu.
Awọn paati wọnyi pẹlu bootloader, ilana, ati apẹrẹ HAL lati ṣe iranlọwọ fun awọn olupilẹṣẹ diẹ sii ni irọrun ati ni imunadoko awọn ohun elo wọn nipa lilo SLN-TLHMI-IOT.

Fun alaye diẹ sii nipa awọn iwe aṣẹ ati ojutu, ṣabẹwo: NXP EdgeReady Smart HMI Solution da lori i.MX RT117H pẹlu ML Vision, Voice and Graphical UI.

Sibẹsibẹ, ifihan naa da lori awọn imọran ati lilo ipilẹ. Nitori ibamu ti sọfitiwia ti o da lori ilana, ko tun rọrun fun awọn olupilẹṣẹ lati mọ bi wọn ṣe le ṣe awọn ohun elo wọn.
Lati yara idagbasoke, awọn itọsọna afikun nilo lati ṣafihan bi o ṣe le ṣe imuse awọn paati pataki (fun example, LVGL GUI, iran, ati idanimọ ohun) ni igbese nipa igbese.
Fun example, awọn onibara yẹ ki o ni ara wọn LVGL GUI ohun elo yatọ si lati awọn bayi apps ni ojutu.
Lẹhin imuse LVGL GUI wọn pẹlu Itọsọna GUI ti a pese nipasẹ NXP, wọn gbọdọ ṣepọ rẹ sinu pẹpẹ sọfitiwia HMI ọlọgbọn ti o da lori ilana naa.

Akọsilẹ ohun elo yii ṣe apejuwe bi o ṣe le ṣepọ ohun elo LVGL GUI ti o dagbasoke nipasẹ olumulo sinu pẹpẹ sọfitiwia HMI ọlọgbọn ti o da lori ilana naa.
Awọn koodu itọkasi tun gbekalẹ pẹlu akọsilẹ ohun elo yii.

Akiyesi: Akọsilẹ ohun elo yii ko ṣe alaye bi o ṣe le ṣe idagbasoke GUI ti o da lori LVGL pẹlu irinṣẹ sọfitiwia Itọsọna GUI.

Awọn loriview ti LVGL ati Itọsọna GUI ti wa ni apejuwe ni Abala 1.1 ati Abala 1.2.

Ina ati Wapọ Graphics Library
Imọlẹ ati Ile-ikawe Awọn ayaworan Wapọ (LVGL) jẹ ọfẹ ati ile ikawe eya aworan ṣiṣi.
O pese ohun gbogbo ti o nilo lati ṣẹda GUI ti a fi sinu pẹlu awọn eroja ayaworan irọrun-lati-lo, awọn ipa wiwo ti o lẹwa, ati ifẹsẹtẹ iranti kekere.

GUI Itọsọna
Itọsọna GUI jẹ ohun elo idagbasoke wiwo olumulo ayaworan ore-olumulo lati NXP ti o jẹ ki idagbasoke iyara ti awọn ifihan didara ga pẹlu ile-ikawe awọn aworan LVGL-ìmọ-orisun.
Olootu fa ati ju silẹ ti Itọsọna GUI jẹ ki o rọrun lati lo ọpọlọpọ awọn ẹya ti LVGL. Awọn ẹya wọnyi pẹlu awọn ẹrọ ailorukọ, awọn ohun idanilaraya, ati awọn aza lati ṣẹda GUI pẹlu ifaminsi pọọku tabi ko si.
Pẹlu titẹ bọtini kan, o le ṣiṣe ohun elo rẹ ni agbegbe afarawe tabi gbejade si iṣẹ akanṣe kan.
Koodu ti ipilẹṣẹ lati ọdọ Itọsọna GUI le ni irọrun ṣafikun si iṣẹ akanṣe rẹ, yiyara ilana idagbasoke ati gbigba ọ laaye lati ṣafikun wiwo olumulo ifibọ si ohun elo rẹ lainidi.
Itọsọna GUI jẹ ọfẹ lati lo pẹlu idi gbogbogbo NXP ati awọn MCU adakoja ati pẹlu awọn awoṣe iṣẹ akanṣe ti a ṣe sinu fun ọpọlọpọ awọn iru ẹrọ atilẹyin.
Lati kọ ẹkọ diẹ sii nipa LVGL ati idagbasoke GUI lori Itọsọna GUI, ṣabẹwo https://lvgl.io/ ati Itọsọna GUI.

Idagbasoke ayika

Mura ati ṣeto agbegbe idagbasoke fun idagbasoke ati iṣọpọ ohun elo GUI kan si pẹpẹ HMI ọlọgbọn.

Hardware ayika

Ohun elo ohun elo atẹle ni a nilo fun iṣafihan lẹhin idagbasoke:

  • Ohun elo idagbasoke HMI ọlọgbọn ti o da lori NXP i.MX RT117H
  • SEGGER J-Link pẹlu ohun ti nmu badọgba kotesi-M 9-pin

Agbegbe sọfitiwia
Awọn irinṣẹ sọfitiwia ati awọn ẹya wọn ti a lo ninu akọsilẹ ohun elo yii ni a ṣe afihan, bi isalẹ:

  • GUI Itọsọna V1.5.0-GA
  • MCUXpresso IDE V11.7.0
    Akiyesi: Kokoro ni awọn ẹya ṣaaju 11.7.0 ko gba laaye kikọ-ni awọn iṣẹ akanṣe multicore to dara.
    Nitorinaa, ẹya 11.7.0 tabi ju bẹẹ lọ ni a nilo.
  • RT1170 SDK V2.12.1
  • Syeed sọfitiwia SLN-TLHMI-IOT – awọn koodu orisun HMI ọlọgbọn ti a tu silẹ ni ibi ipamọ GitHub osise wa

Lati ni imọ siwaju sii nipa bi o ṣe le ṣeto ati fi sori ẹrọ ni hardware ati agbegbe sọfitiwia, wo Bibẹrẹ pẹlu SLN-TLHMI-IOT (iwe MCU-SMHMI-GSG).

Ṣepọ ohun elo LVGL GUI sinu pẹpẹ HMI ọlọgbọn

Syeed sọfitiwia HMI ọlọgbọn ti wa ni itumọ ti lori faaji ilana. Awọn olupilẹṣẹ rii pe o nira lati ṣafikun ohun elo LVGL GUI wọn si pẹpẹ sọfitiwia HMI ọlọgbọn paapaa ti wọn ba ka itọsọna olupilẹṣẹ ati mọ nipa ilana naa.
Awọn apakan ti o tẹle ṣe alaye bi o ṣe le ṣe imuse ni igbese nipa igbese.

Dagbasoke ohun elo LVGL GUI lori Itọsọna GUI
Gẹgẹbi a ti sọ loke, bii o ṣe le ṣe idagbasoke LVGL GUI lori Itọsọna GUI kii ṣe tcnu ninu akọsilẹ ohun elo yii.
Ṣugbọn a GUI Mofiample jẹ dandan.
Nitorinaa, awoṣe GUI ti o rọrun kan ti a npè ni Ilọsiwaju Slider ti a pese ni Itọsọna GUI ni a yan bi GUI example fun awọn ọna kan setup.
Awoṣe Slider Progress GUI jẹ lilo nitori pe o ni aworan kan ti o nilo lati ṣe afihan awọn orisun aworan ile ni ohun elo naa.
GUI example jẹ rọrun pupọ lati ṣe ina: Lati ṣẹda ise agbese kan pẹlu imudojuiwọn LVGL ikawe V8.3.2 ati awoṣe igbimọ bi MIMXRT1176xxxxx, tọka si Itọsọna Olumulo Itọsọna GUI (iwe GUIGUIDERUG).
olusin 1 fihan awọn eto ise agbese.

Akiyesi: Iru nronu gbọdọ wa ni ti a ti yan, bi o han ni pupa apoti ni Figure 1, bi o ti lo lori lọwọlọwọ idagbasoke ọkọ.

Lẹhin ṣiṣẹda iṣẹ akanṣe naa, ṣiṣe adaṣe lati ṣe agbekalẹ awọn koodu LVGL GUI ti o ni ibatan ati kọ iṣẹ akanṣe naa daradara.
O le ṣayẹwo ipa ti GUI example lori labeabo.

olusin 1. GUI ise agbese setup on GUI Guider
Eto ise agbese

Ṣẹda iṣẹ akanṣe rẹ lori HMI ọlọgbọn
Akiyesi: Ni akọkọ, ṣẹda iṣẹ akanṣe rẹ lori IDE MCUXpresso.

Lẹhin ti LVGL GUI example ti kọ, o le lọ si ibi-afẹde akọkọ lati ṣepọ rẹ sinu ẹrọ sọfitiwia HMI ọlọgbọn lori iṣẹ akanṣe MCUXpresso fun imuse ohun elo GUI rẹ.
Ọna ti o rọrun ati iyara ni lati ṣe oniye iṣẹ akanṣe ohun elo lọwọlọwọ ti a gbekalẹ lori pẹpẹ HMI ọlọgbọn.
Ohun elo elevator jẹ yiyan ti o dara julọ bi orisun oniye nitori o ni imuse ti o rọrun.

Lati ṣẹda ise agbese rẹ, tẹle awọn igbesẹ ni isalẹ:

  1. Daakọ ati lẹẹmọ folda “elevator” ninu koodu orisun HMI smart cloned lati GitHub. Tun lorukọ rẹ si tirẹ.
    Fun eyi example, a ti yan "slider_progress", wọnyi awọn orukọ ti GUI example.
  2. Ninu folda “slider_progress”, tẹ folda “lvgl_vglite_lib” ti o ni iṣẹ akanṣe LVGL GUI ninu.
  3. Ṣii ise agbese-jẹmọ files .cproject ati .project ki o rọpo gbogbo okun "elevator" pẹlu okun orukọ iṣẹ rẹ "slider_progress".
  4. Ṣe awọn iru rirọpo fun awọn mejeeji ise agbese files ninu awọn folda "cm4" ati "cm7".
    Ṣeto iṣẹ akanṣe rẹ nipa didi iṣẹ akanṣe elevator files.
    Bi o ṣe han ninu Olusin 2 Awọn iṣẹ akanṣe rẹ le ṣii ni MCUXpresso IDE ni ọna kanna bi iṣẹ akanṣe elevator.

olusin 2. Projects setup on MCUXpresso
Eto ise agbese

Kọ awọn orisun fun HMI ọlọgbọn
Ni gbogbogbo, awọn aworan ni a lo ni GUI (awọn ohun ti a lo ninu awọn itọ ohun bi daradara).
Awọn aworan ati awọn ohun ni a pe ni awọn orisun, ti a fipamọ sinu filasi ni ọkọọkan. Ṣaaju siseto wọn lori filasi, awọn orisun yẹ ki o kọ sinu alakomeji file.
Iṣẹ akọkọ ni lati rọpo awọn orukọ ti ohun elo itọkasi (elevator) pẹlu tirẹ.

Lati ṣe bẹ, tẹle awọn igbesẹ ni isalẹ:

  1. Pa folda “awọn aworan” ti cloned rẹ labẹ slider_progress/source.
  2. Daakọ folda "awọn aworan" labẹ \ ti ipilẹṣẹ ninu iṣẹ-ṣiṣe Itọsọna GUI rẹ.
  3. Lẹẹmọ labẹ slider_progress/awọn orisun (Iyẹn ni, lo awọn aworan tirẹ ju awọn ti ohun elo elevator lọ.).
  4. Pa * .mk file ti a lo fun Itọsọna GUI ni folda "awọn aworan".
  5. Fun lorukọ mii files elevator_resource.txt, elevator_resource_build.bat, ati elevator_resource_build.sh ninu folda “awọn orisun” si orukọ iṣẹ akanṣe rẹ slider_progress_resource.txt, slider_progress_resource_build.bat, ati slider_progress_resource_build.sh.
    Akiyesi:
    • elevator_resource.txt: ti o ni awọn ọna ati awọn orukọ ti gbogbo awọn orisun (awọn aworan ati awọn ohun) ti a lo ninu app naa.
    • elevator_resource_build.bat/elevator_resource_build.sh: ti a lo fun kikọ awọn orisun ni Windows ati Lainos ni ibamu.
  6. Lẹhin ṣiṣi slider_progress_resource.txt file, ropo gbogbo awọn gbolohun ọrọ "elevator" pẹlu "slider_progress".
  7. Yọ gbogbo awọn aworan atijọ kuro ki o ṣafikun awọn tuntun pẹlu aworan rẹ file awọn orukọ (eyi ni "_scan_example_597x460.c”), gẹgẹ bi aworan ../../slider_progress/resource/images/_scan_example_597x460.c.
  8. Ṣii slider_progress_resource.bat file fun Windows ki o si ropo gbogbo awọn gbolohun ọrọ "elevator" pẹlu "slider_progress". Ṣe kanna si awọn file slider_progress_resource.sh fun Lainos.
  9. Tẹ ipele lẹẹmeji file slider_progress_resource_build.bat fun Windows.
  10. Ferese aṣẹ yoo han ati ṣiṣe laifọwọyi lati ṣe ina alakomeji awọn oluşewadi aworan file ti o ni data aworan ati alaye wiwọle orisun ti o ni awọn koodu C lati ṣeto gbogbo awọn ipo aworan ni filasi ati iwọn baiti lapapọ ti awọn aworan.
    Lẹhin ti o ṣafihan ifiranṣẹ naa “Ipilẹṣẹ Ipilẹṣẹ Pari!”, alakomeji orisun aworan file ti a npè ni slider_progress_resource.bin ati alaye wiwọle orisun file ti a npè ni resource_information_table.txt ti wa ni ipilẹṣẹ ninu folda "awọn oluşewadi".
    Alakomeji awọn oluşewadi aworan file ti wa ni eto lori filasi, ati alaye wiwọle awọn oluşewadi ti lo lati wọle si awọn oro lori smati HMI (wo Abala 3.4.1).

Ṣepọ ohun elo LVGL GUI sinu HMI ọlọgbọn
Awọn koodu ohun elo LVGL GUI (eyi ni SliderProgress GUI example) ati awọn orisun aworan ti a ṣe, pẹlu alaye iwọle, le ṣafikun si HMI ọlọgbọn.
Ni afikun, lati ṣe ohun elo LVGL GUI rẹ lori HMI ọlọgbọn, o nilo lati ṣafikun awọn ẹrọ HAL ti o ni ibatan si LVGL GUI ati awọn atunto ti o jọmọ.
Ohun elo LVGL GUI nṣiṣẹ lori mojuto M4, ati imuse ti o jọmọ jẹ fere ni iṣẹ akanṣe M4 “sln_smart_tlhmi_slider_progress_cm4”.
Awọn igbesẹ alaye ni a ṣe apejuwe ni awọn apakan apakan siwaju.

Ṣafikun awọn koodu LVGL GUI ati awọn orisun
Awọn koodu ohun elo LVGL GUI ti a lo fun HMI ọlọgbọn wa ninu awọn folda “aṣa” ati “ti ipilẹṣẹ” ninu iṣẹ Itọsọna GUI.

Lati ṣafikun awọn koodu si HMI ọlọgbọn, tẹle awọn igbesẹ isalẹ:

  1. Rọpo custom.c ati custom.h labẹ slider_progress/cm4/custom/ pẹlu awọn ti o wa ninu folda "aṣa" ni iṣẹ Itọsọna GUI.
  2. Yọ awọn folda “ti ipilẹṣẹ” kuro lati slider_progress/cm4/.
    Lẹhinna daakọ folda “ti ipilẹṣẹ” lati iṣẹ Itọsọna GUI ki o lẹẹmọ si slider_progress/cm4/.
  3. Pa awọn folda "aworan" ati "mPythonImages" ati gbogbo awọn files * .mk ati * .py ninu folda "ti ipilẹṣẹ".
    Gẹgẹbi a ti sọ loke, awọn aworan ti o wa ninu folda "aworan" ni a ṣe sinu alakomeji awọn oluşewadi file, nitorina folda "aworan" ko nilo.
    Awọn folda "mPythonImages" ati gbogbo awọn files * .mk ati * .py ko fẹ fun HMI ọlọgbọn.
  4. Lati ṣafikun iṣakoso mutex ti o da lori pẹpẹ HMI ọlọgbọn ati ṣeto awọn ipo aworan lori filasi, yipada file custom.c pa MCUXpresso IDE.
    Gbogbo eyi jẹ asọye nipasẹ RT_PLATFORM.
  5. Ṣii iṣẹ elevator lori IDE MCUXpresso. Wa itumọ macro RT_PLATFORM ni custom.c labẹ sln_smart_tlhmi_elevator_cm4> aṣa ati daakọ gbogbo awọn laini koodu lati #ti o ba ti ṣalaye (RT_PLATFORM) si #endif, ki o si lẹẹmọ wọn sinu file custom.c labẹ sln_smart_tlhmi_slider_progress_cm4> aṣa.
  6. Pa awọn laini koodu kuro labẹ #emiiran ti o ni #elo miiran nitori wọn lo fun GUI elevator.
    Awọn laini koodu ti a ṣafikun bo atẹle naa:
    • Awọn pẹlu files jẹ bi wọnyi:
      Koodu Ati Resources

    • Ikede oniyipada jẹ bi atẹle:
      Koodu Ati Resources
    • Awọn koodu C ni iṣẹ custom_init() jẹ bi atẹle:
      Koodu Ati Resources
      Koodu Ati Resources
    • Awọn koodu C fun awọn iṣẹ _takeLVGLMutex (), _giveLVGLMutex (), ati setup_imgs () nibiti a ti ṣeto awọn ipo ti gbogbo awọn aworan.
  7. Rọpo awọn koodu ni iṣẹ setup_imgs () pẹlu awọn koodu iṣeto ipo fun awọn aworan ninu resource_information_table.txt file (wo Abala 3.3).
    Ninu akọsilẹ ohun elo yii, orisun aworan kan ṣoṣo ni o wa eyiti o ṣeto bi: _scan_example_597x460.data = (ipilẹ + 0); Lẹhin ṣiṣe, iṣẹ setup_imgs () yoo han bi isalẹ:
    Koodu Ati Resources
  8. Lati ṣafikun asọye macro ati ikede iṣẹ ti o ni ibatan si custom.c, ṣe atunṣe custom.h file labẹ sln_smart_tlhmi_slider_progress_cm4> aṣa, bi a ṣe han ni isalẹ:
    Koodu Ati Resources
  9. Lati setumo awọn aworan inu ohun elo LVGL GUI rẹ, ṣe atunṣe lvgl_images_internal.h file labẹ sln_smart_tlhmi_slider_progress_cm4> aṣa.
    • Ṣii aworan kan * .c file (Eyi ni _scan_example_597x460.c) labẹ / ipilẹṣẹ / aworan / ni GUI Guider ise agbese.
      Da awọn aworan definition ni opin ti awọn file. Lẹẹmọ rẹ si lvgl_images_internal.h file lẹhin piparẹ gbogbo awọn asọye atilẹba nipa awọn aworan fun ohun elo elevator naa.
    • Pa .data = _scan_example_597x460_map ni orun niwon .data ti ṣeto ni iṣẹ setup_imgs ().
      Awọn orun ti wa ni asọye nipari ni lvgl_images_internal.h file, bi a ṣe han ni isalẹ:
      Koodu Ati Resources
      Akiyesi:
      Tun awọn iṣẹ ti o wa loke ṣe fun gbogbo aworan files ọkan nipa ọkan ti o ba ti nibẹ ni o wa olona-image files.
  10. Ṣe atunto iwọn lapapọ ti orisun aworan nipa asọye asọye Makiro APP_LVGL_IMGS_SIZE ninu app_config.h file labẹ sln_smart_tlhmi_slider_progress_cm7> orisun pẹlu iwọn titun ti awọn aworan.
    Iwọn tuntun yii wa ninu orisun orisun resource_information_table.txt ti a ṣe file.

Ṣafikun awọn ẹrọ HAL ati awọn atunto
Da lori faaji ilana, awọn ẹrọ HAL meji (ifihan ati awọn ẹrọ iṣelọpọ) jẹ apẹrẹ fun ohun elo LVGL GUI.
Awọn imuse ti awọn ẹrọ meji yatọ si da lori oriṣiriṣi awọn ohun elo LVGL GUI botilẹjẹpe awọn aṣa faaji ti o wọpọ wa fun wọn.
Wọn ti ṣe imuse lọtọ ni meji files.
Nitorina, o gbọdọ oniye awọn meji files lati inu ohun elo elevator lọwọlọwọ ki o yipada ohun elo LVGL GUI rẹ.
Lẹhinna, mu awọn ẹrọ rẹ ṣiṣẹ ni iṣeto ni file.
Ohun elo LVGL GUI rẹ jẹ itumọ lori pẹpẹ HMI ọlọgbọn ti o da lori ilana naa.

Awọn iyipada alaye le ṣee ṣe ni IDE MCUXpresso, bi a ṣe han ni isalẹ:

  • Ṣiṣe ifihan HAL ẹrọ
    1. Daakọ ati lẹẹmọ hal_display_lvgl_elevator.c file labẹ ẹgbẹ sln_smart_tlhmi_slider_progress_cm4> ilana> hal> ifihan lori iṣẹ akanṣe MCUXpresso. Fun lorukọ rẹ si hal_display_lvgl_sliderprogress.c fun ohun elo rẹ.
    2. Ṣii awọn file hal_display_lvgl_sliderprogress.c ki o si rọpo gbogbo awọn gbolohun ọrọ “elevator” pẹlu okun ohun elo rẹ “SliderProgress” ninu file.
  • Ṣiṣẹ ẹrọ HAL ti o wu jade
    1. Daakọ ati lẹẹmọ hal_output_ui_elevator.c file labẹ awọn ẹgbẹ sln_smart_tlhmi_slider_progress_cm4> ilana> hal> o wu lori MCUXpresso ise agbese. Tun lorukọ rẹ si hal_output_ui_sliderprogress.c fun ohun elo rẹ.
    2. Ṣii awọn file hal_output_ui_sliderprogress.c. Yọ gbogbo awọn iṣẹ ti o nii ṣe pẹlu ohun elo elevator ayafi awọn iṣẹ ipilẹ ti o wọpọ ti ẹrọ HAL:
      HAL_OutputDev_UiElevator_Init ();
      HAL_OutputDev_UiElevator_Deinit ();
      HAL_OutputDev_UiElevator_Start ();
      HAL_OutputDev_UiElevator_Stop ();
      HAL_OutputDev_UiElevator_InferComplete ();
      HAL_OutputDev_UiElevator_InputNotify ();
      Ni afikun, ṣe ifipamọ awọn ikede ti awọn iṣẹ meji ti o wa ni isalẹ:
      APP_OutputDev_UiElevator_InferCompleteDecode ();
      APP_OutputDev_UiElevator_InputNotifyDecode ();
    3. Nu iṣẹ HAL_OutputDev_UiElevator_InferComplete () mọ fun kikọ ohun elo rẹ nigbamii.
      Ninu iṣẹ naa, yọkuro awọn ipe iṣẹ mejeeji _InferComplete_Vision () ati _InferComplete_Voice () ti a lo fun mimu awọn abajade lati iran ati awọn algoridimu ohun fun ohun elo elevator.
    4. Nu iṣẹ HAL_OutputDev_UiElevator_InputNotify () mọ ki o tọju faaji ipilẹ fun idagbasoke ohun elo siwaju.
      Ni ipari, iṣẹ naa dabi atẹle:
      Koodu Ati Resources
    5. Yọ gbogbo awọn ikede oniyipada kuro, pẹlu enum ati orun, ayafi awọn s_UiSurface ati s_AsBuffer[] ti a lo fun awọn imuse ti o wọpọ.
    6. Rọpo gbogbo awọn gbolohun ọrọ “elevator” pẹlu okun ohun elo rẹ “SliderProgress”.
  • Mu ṣiṣẹ ati tunto awọn ẹrọ HAL mejeeji
    1. Ṣii board_define.h file labẹ sln_smart_tlhmi_slider_progress_cm4> ọkọ.
      Rọpo gbogbo awọn okun “elevator” pẹlu okun ohun elo rẹ “SliderProgress” ninu file.
      O ṣiṣẹ ati tunto ifihan ati awọn ẹrọ HAL ti o jade nipasẹ awọn asọye ENABLE_DISPLAY_DEV_LVGLSliderProgress ati ENABLE_OUTPUT_DEV_UiSliderProgress.
    2. Ṣii lvgl_support.c file labẹ sln_smart_tlhmi_slider_progress_cm4> ọkọ. Rọpo gbogbo awọn okun “elevator” pẹlu okun ohun elo rẹ “SliderProgress” ninu file.
      O jeki kamẹra ṣaajuview lori GUI ni ipele awakọ ifihan.
  • Forukọsilẹ mejeeji HAL awọn ẹrọ
    Ṣii M4 akọkọ sln_smart_tlhmi_cm4.cpp file labẹ sln_smart_tlhmi_slider_progress_cm4> orisun.
    Rọpo gbogbo awọn okun “elevator” pẹlu okun ohun elo rẹ “SliderProgress” ninu file.
    O forukọsilẹ ifihan ati ẹrọ HAL ti o wu jade fun ohun elo rẹ dipo ohun elo elevator.
    Nitorinaa, iṣọpọ ti pari fun ṣiṣe ohun elo LVGL GUI ipilẹ lori HMI ọlọgbọn.
    Ti o da lori awọn ibeere diẹ sii fun ohun elo naa, awọn imuse diẹ sii ni a le ṣafikun da lori ohun elo ipilẹ ti a ṣepọ.

Afihan

demo ohun elo “slider_progress” ti wa ni imuse pẹlu akọsilẹ ohun elo yii.

Lẹhin ṣiṣi package sọfitiwia demo, fi eyi si isalẹ files ati folda sinu sọfitiwia HMI ọlọgbọn:

  • Awọn file hal_display_lvgl_sliderprpgress.c labẹ [demo] \ Framework \ hal \ àpapọ \ si ona [smart HMI] \ Framework \ hal \ àpapọ \
  • Awọn file hal_output_ui_slider_progress.c labẹ [demo] \ Framework \ hal \ o wu \ si ona [smart HMI] \ Framework \ hal \ o wu \
  • Awọn folda "slider_progress" si ọna root ti [HMI ọlọgbọn] \
    Awọn iṣẹ akanṣe naa le ṣii lori IDE MCUXpresso, gẹgẹ bi ẹrọ kofi / ohun elo elevator ti a gbekalẹ lori pẹpẹ HMI ọlọgbọn.
    Lẹhin siseto ti a ṣe * .axf file si adirẹsi 0x30100000 ati alakomeji awọn oluşewadi file si adirẹsi 0x30700000, demo LVGL GUI le ṣiṣe ni aṣeyọri lori igbimọ idagbasoke HMI ọlọgbọn (wo Nọmba 3 fun ifihan iboju).
    Akiyesi: Ti o ba lo v1.7.0 ti MCUXpresso IDE, mu “Ṣakoso iwe afọwọkọ ọna asopọ” ṣiṣẹ ni Eto> MCU C ++ Linker> Afọwọkọ Linker ti iṣakoso ṣaaju ṣiṣe iṣẹ akanṣe CM4.
    olusin 3. LVGL GUI demo àpapọ on smart HMI idagbasoke ọkọ
    Ririnkiri Ifihan

Àtúnyẹwò itan

Itan atunyẹwo ṣe akopọ awọn atunyẹwo si iwe-ipamọ yii.

Table 1. Àtúnyẹwò itan

Nọmba atunṣe Ọjọ Awọn iyipada pataki
1 Oṣu Kẹfa Ọjọ 16, Ọdun 2023 Itusilẹ akọkọ

Akiyesi nipa koodu orisun ninu iwe-ipamọ naa

Exampkoodu ti o han ninu iwe yii ni ẹtọ aṣẹ-lori atẹle ati iwe-aṣẹ Clause BSD-3:
Aṣẹ-lori-ara 2023 NXP Satunkọ ati lilo ni orisun ati awọn fọọmu alakomeji, pẹlu tabi laisi iyipada, jẹ idasilẹ ti a pese pe awọn ipo wọnyi ti pade:

  1. Awọn atunpinpin ti koodu orisun gbọdọ da akiyesi aṣẹ-lori oke loke, atokọ awọn ipo ati idawọle atẹle.
  2. Awọn atunpinpin ni fọọmu alakomeji gbọdọ tun ṣe akiyesi aṣẹ-lori loke, atokọ awọn ipo ati idawọle atẹle ninu iwe ati/tabi awọn ohun elo miiran gbọdọ wa ni ipese pẹlu pinpin.
  3. Bẹni orukọ ẹniti o ni aṣẹ lori ara tabi awọn orukọ ti awọn olupilẹṣẹ rẹ le ṣee lo lati ṣe atilẹyin tabi ṣe igbega awọn ọja ti o wa lati sọfitiwia yii laisi aṣẹ iwe-aṣẹ tẹlẹ ṣaaju.

SOFTWARE YI NI A NPESE LATI ỌWỌ awọn oludimu ati awọn oluranlọwọ “BẸẸNI” ATI awọn iṣeduro KIAKIA TABI TIN, PẸLU, SUGBON KO NI OPIN SI, Awọn ATILẸYIN ỌJA TI ỌLỌJA ATI AGBARA FUN AGBẸRẸ.
NI IṢẸLẸ KO NI ENIYAN TI ENIYAN TABI OLỌWỌRỌ NI IDAGBASOKE FUN KANKAN TARA, aiṣedeede, lairotẹlẹ, PATAKI, Apẹẹrẹ, tabi awọn ibajẹ ti o tẹle (pẹlu, ṣugbọn, ko ni opin si, Ilana ti ohun elo ti o lopin si; TABI ERE; TABI IWỌRỌ IṢỌWỌWỌWỌWỌ NIPA ATI LORI KANKAN TIỌRỌ TI AWỌN ỌMỌRỌ, BOYA NI AWỌN AWỌRỌ, IWỌN NIPA, TABI TORT (pẹlu aifiyesi tabi bibẹkọ) ti o dide ni eyikeyi ọna lati LILO TI AWỌN NIPA TI AWỌN NIPA TI AWỌN NIPA TI AWỌN NIPA,
IBAJE.

Alaye ofin

Awọn itumọ
Akọpamọ:
Ipo yiyan lori iwe kan tọkasi pe akoonu naa tun wa labẹ atunlo inuview ati ki o koko ọrọ si lodo alakosile, eyi ti o le ja si ni awọn iyipada tabi awọn afikun.
NXP Semiconductors ko fun eyikeyi awọn aṣoju tabi awọn iṣeduro nipa išedede tabi pipe alaye ti o wa ninu ẹya iyaworan ti iwe kan ati pe ko ni layabiliti fun awọn abajade ti lilo iru alaye.

AlAIgBA
Atilẹyin ọja to lopin ati layabiliti: Alaye ti o wa ninu iwe yii jẹ deede ati igbẹkẹle.
Sibẹsibẹ, NXP Semiconductors ko fun eyikeyi awọn aṣoju tabi awọn atilẹyin ọja, ti a fihan tabi mimọ, nipa deede tabi pipe iru alaye ati pe kii yoo ni layabiliti fun awọn abajade ti lilo iru alaye.
NXP Semiconductors ko gba ojuse fun akoonu inu iwe yii ti o ba pese nipasẹ orisun alaye ni ita ti NXP Semiconductor.
Ko si iṣẹlẹ ti NXP Semiconductors yoo ṣe oniduro fun eyikeyi aiṣe-taara, iṣẹlẹ, ijiya, pataki tabi awọn bibajẹ ti o wulo (pẹlu – laisi aropin – awọn ere ti o sọnu, awọn ifowopamọ ti o sọnu, idalọwọduro iṣowo, awọn idiyele ti o ni ibatan si yiyọkuro tabi rirọpo awọn ọja eyikeyi tabi awọn idiyele atunṣe) boya tabi iru awọn bibajẹ bẹ ko da lori ijiya (pẹlu aibikita), atilẹyin ọja, irufin adehun tabi ilana ofin eyikeyi miiran.
Laibikita eyikeyi awọn ibajẹ ti alabara le fa fun eyikeyi idi eyikeyi, apapọ NXP Semiconductor ati layabiliti akopọ si alabara fun awọn ọja ti a ṣalaye ninu rẹ yoo ni opin ni ibamu pẹlu Awọn ofin ati ipo ti titaja iṣowo ti NXP Semiconductor.

Ọtun lati ṣe awọn ayipada: NXP Semiconductors ni ẹtọ lati ṣe awọn ayipada si alaye ti a tẹjade ninu iwe yii, pẹlu laisi awọn pato aropin ati awọn apejuwe ọja, nigbakugba ati laisi akiyesi.
Iwe yi rọpo ati rọpo gbogbo alaye ti a pese ṣaaju ki o to tẹjade nibi.

Idara fun lilo: Awọn ọja Semiconductor NXP ko ṣe apẹrẹ, fun ni aṣẹ tabi atilẹyin ọja lati dara fun lilo ninu atilẹyin igbesi aye, pataki-aye tabi awọn eto aabo-pataki tabi ohun elo, tabi ni awọn ohun elo nibiti ikuna tabi aiṣedeede ti ọja Semiconductor NXP le ni idi nireti lati ja si ni ti ara ẹni. ipalara, iku tabi ohun ini ti o lagbara tabi ibajẹ ayika.
NXP Semiconductors ati awọn olupese rẹ ko gba layabiliti fun ifisi ati/tabi lilo awọn ọja Semiconductor NXP ni iru ẹrọ tabi awọn ohun elo ati nitorinaa iru ifisi ati/tabi lilo wa ni eewu alabara.

Awọn ohun elo: Awọn ohun elo ti o ṣapejuwe ninu rẹ fun eyikeyi awọn ọja wọnyi wa fun awọn idi apejuwe nikan.
NXP Semiconductors ko ṣe aṣoju tabi atilẹyin ọja pe iru awọn ohun elo yoo dara fun lilo pàtó laisi idanwo siwaju tabi iyipada.
Awọn alabara ṣe iduro fun apẹrẹ ati iṣẹ ti awọn ohun elo wọn ati awọn ọja nipa lilo awọn ọja Semiconductor NXP, ati NXP Semiconductor ko gba layabiliti fun eyikeyi iranlọwọ pẹlu awọn ohun elo tabi apẹrẹ ọja alabara.
O jẹ ojuṣe alabara nikan lati pinnu boya ọja Semiconductor NXP dara ati pe o yẹ fun awọn ohun elo alabara ati awọn ọja ti a gbero, bakanna fun ohun elo ti a gbero ati lilo ti alabara ẹgbẹ kẹta ti alabara.
Awọn alabara yẹ ki o pese apẹrẹ ti o yẹ ati awọn aabo iṣiṣẹ lati dinku awọn eewu ti o nii ṣe pẹlu awọn ohun elo ati awọn ọja wọn.
NXP Semiconductors ko gba eyikeyi layabiliti ti o ni ibatan si eyikeyi aiyipada, ibajẹ, awọn idiyele tabi iṣoro eyiti o da lori eyikeyi ailera tabi aiyipada ninu awọn ohun elo alabara tabi awọn ọja, tabi ohun elo tabi lilo nipasẹ awọn alabara ẹgbẹ kẹta ti alabara.
Onibara jẹ iduro fun ṣiṣe gbogbo awọn idanwo pataki fun awọn ohun elo alabara ati awọn ọja ni lilo awọn ọja Semiconductor NXP lati yago fun aiyipada awọn ohun elo ati awọn ọja tabi ohun elo tabi lilo nipasẹ alabara ẹgbẹ kẹta ti alabara. NXP ko gba gbese eyikeyi ni ọwọ yii

Awọn ofin ati ipo ti tita iṣowo: Awọn ọja Semiconductor NXP ni a ta labẹ awọn ofin gbogbogbo ati ipo ti titaja iṣowo, bi a ti tẹjade ni http://www.nxp.com/profile/terms, ayafi ti bibẹkọ ti gba ni a wulo kọ olukuluku adehun.
Ni ọran ti adehun ẹni kọọkan ba pari awọn ofin ati ipo ti adehun oniwun yoo lo.
NXP Semikondokito nipa bayi ni awọn nkan taara si lilo awọn ofin gbogbogbo ti alabara pẹlu iyi si rira awọn ọja Semiconductor NXP nipasẹ alabara.

Iṣakoso okeere: Iwe yi ati awọn ohun kan(s) ti a sapejuwe ninu rẹ le jẹ koko ọrọ si awọn ilana iṣakoso okeere.
Si ilẹ okeere le nilo aṣẹ ṣaaju lati ọdọ awọn alaṣẹ to peye.

Ibaramu fun lilo ninu awọn ọja ti ko ni oye ọkọ ayọkẹlẹ: Ayafi ti iwe data yii ba sọ ni gbangba pe ọja NXP Semiconductor pato yii jẹ oṣiṣẹ adaṣe, ọja naa ko dara fun lilo adaṣe.
Ko jẹ oṣiṣẹ tabi idanwo ni ibamu pẹlu idanwo adaṣe tabi awọn ibeere ohun elo. NXP Semiconductors gba ko si gbese fun ifisi ati/tabi lilo awọn ọja ti kii ṣe adaṣe ni ohun elo adaṣe tabi awọn ohun elo.
Ni iṣẹlẹ ti alabara nlo ọja naa fun apẹrẹ-inu ati lilo ninu awọn ohun elo adaṣe si awọn pato adaṣe ati awọn iṣedede, alabara (a) yoo lo ọja laisi atilẹyin ọja Semiconductor NXP fun iru awọn ohun elo adaṣe, lilo ati awọn pato, ati ( b) nigbakugba ti alabara ba lo ọja naa fun awọn ohun elo ọkọ ayọkẹlẹ ti o kọja awọn pato NXP Semiconductors iru lilo yoo jẹ nikan ni eewu ti ara alabara, ati (c) alabara ni kikun ṣe idalẹbi awọn Semiconductor NXP fun eyikeyi layabiliti, awọn ibajẹ tabi awọn ẹtọ ọja ti o kuna ti o waye lati apẹrẹ alabara ati lilo ti ọja fun awọn ohun elo adaṣe kọja atilẹyin ọja boṣewa NXP Semiconductor ati awọn pato ọja NXP Semiconductor.

Awọn itumọ: Ẹya ti kii ṣe Gẹẹsi (tumọ) ti iwe kan, pẹlu alaye ofin ninu iwe yẹn, jẹ fun itọkasi nikan.
Ẹ̀yà Gẹ̀ẹ́sì náà yóò gbilẹ̀ ní irú ìyàtọ̀ èyíkéyìí láàárín àwọn ìtúmọ̀ àti èdè Gẹ̀ẹ́sì.

Aabo: Onibara loye pe gbogbo awọn ọja NXP le jẹ koko ọrọ si awọn ailagbara ti a ko mọ tabi o le ṣe atilẹyin awọn iṣedede aabo ti iṣeto tabi awọn pato pẹlu awọn idiwọn ti a mọ.
Onibara jẹ iduro fun apẹrẹ ati iṣẹ ti awọn ohun elo ati awọn ọja jakejado awọn igbesi aye wọn lati dinku ipa ti awọn ailagbara wọnyi lori awọn ohun elo alabara ati awọn ọja.
Ojuse alabara tun fa si ṣiṣi ati/tabi awọn imọ-ẹrọ ohun-ini ti o ni atilẹyin nipasẹ awọn ọja NXP fun lilo ninu awọn ohun elo alabara.
NXP ko gba gbese fun eyikeyi ailagbara.
Onibara yẹ ki o ṣayẹwo awọn imudojuiwọn aabo nigbagbogbo lati NXP ati tẹle ni deede.
Onibara yoo yan awọn ọja pẹlu awọn ẹya aabo ti o dara julọ pade awọn ofin, awọn ilana, ati awọn iṣedede ti ohun elo ti a pinnu ati ṣe awọn ipinnu apẹrẹ ti o ga julọ nipa awọn ọja rẹ ati pe o jẹ iduro nikan fun ibamu pẹlu gbogbo ofin, ilana, ati awọn ibeere ti o ni ibatan aabo nipa awọn ọja rẹ, laibikita awọn ọja rẹ. eyikeyi alaye tabi atilẹyin ti o le wa nipasẹ NXP.
NXP ni Ẹgbẹ Idahun Iṣẹlẹ Aabo Ọja (PSIRT) (ti o le de ọdọ PSIRT@nxp.com) ti o ṣakoso iwadii, ijabọ, ati itusilẹ ojutu si awọn ailagbara aabo ti awọn ọja NXP.

NXP BV: NXP BV kii ṣe ile-iṣẹ ti n ṣiṣẹ ati pe ko kaakiri tabi ta awọn ọja.

Awọn aami-išowo

Akiyesi: Gbogbo awọn ami iyasọtọ ti a tọka si, awọn orukọ ọja, awọn orukọ iṣẹ, ati aami-iṣowo jẹ ohun-ini ti awọn oniwun wọn.
NXP: aami-ọrọ ati aami jẹ aami-iṣowo ti NXP BV
i.MX: jẹ aami-iṣowo ti NXP BV

ÀLẸ́Ẹ́WỌ́ oníbara

Fun alaye diẹ sii, jọwọ ṣabẹwo: http://www.nxp.com
Logo.png

Awọn iwe aṣẹ / Awọn orisun

NXP AN13948 Ṣiṣẹpọ LVGL GUI Ohun elo sinu Smart HMI Platform [pdf] Afowoyi olumulo
AN13948 Ṣiṣẹpọ Ohun elo LVGL GUI sinu Smart HMI Platform, AN13948, Iṣakojọpọ Ohun elo LVGL GUI sinu Smart HMI Platform

Awọn itọkasi

Fi ọrọìwòye

Adirẹsi imeeli rẹ kii yoo ṣe atẹjade. Awọn aaye ti a beere ti wa ni samisi *