STMicroelectronics लोगो LCD डिस्प्लेसाठी UM3236 LVGL लायब्ररी
वापरकर्ता मॅन्युअल

परिचय

ऑटोमोटिव्ह उद्योगाच्या आधुनिक संदर्भात, लहान एलसीडी डिस्प्लेसाठी देखील अधिकाधिक जटिल GUI विकसित करणे सामान्य आहे. ही गरज पूर्ण करण्यासाठी, एक नवीन घटक, AEK-LCD-LVGL, तयार केला गेला आहे आणि AutoDevKit इकोसिस्टममध्ये जोडला गेला आहे.
हा नवीन घटक LVGL ग्राफिक्स लायब्ररी आयात करतो आणि जटिल GUI जलद विकसित करण्यासाठी AEK-LCD-DT028V1 घटकासह वापरला जातो.
LVGL (प्रकाश आणि अष्टपैलू ग्राफिक्स लायब्ररी) एक मुक्त, मुक्त-स्रोत ग्राफिक्स लायब्ररी आहे, जी C भाषेत लिहिलेली आहे, जी वापरण्यास-सुलभ ग्राफिक्स, छान व्हिज्युअल इफेक्ट्स आणि कमी मेमरी व्यवसायासह GUI तयार करण्यासाठी साधने प्रदान करते.
LVGL खूप शक्तिशाली आहे कारण त्यात पूर्वनिर्धारित घटक आहेत, जसे की बटणे, चार्ट, सूची, स्लाइडर आणि प्रतिमा. अॅनिमेशन, अँटी-अलायझिंग, अपारदर्शकता आणि स्मूथ स्क्रोलिंगसह ग्राफिक्स तयार करणे LVGL सह सोपे केले आहे. लायब्ररी अनेक प्रकारच्या इनपुट उपकरणांशी सुसंगत आहे, जसे की टचपॅड, माउस, कीबोर्ड आणि एन्कोडर. AutoDevKit वापरून LCD GUI सहज कसे तयार करायचे हे दाखवणे हे या वापरकर्ता पुस्तिकाचे उद्दिष्ट आहे.
टीप: LVGL बद्दल अधिक तपशीलांसाठी, अधिकृत दस्तऐवजीकरण पहा. स्त्रोत कोड GitHub वरून डाउनलोड करण्यासाठी उपलब्ध आहे.
AEK-LVGL आर्किटेक्चरLCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - AEK-LCD-LVGL आर्किटेक्चरवरील प्रतिमा AutoDevKit मध्ये एकत्रित केलेले LVGL सॉफ्टवेअर आर्किटेक्चर दाखवते.
सॉफ्टवेअर आर्किटेक्चरचे वैशिष्ट्य आहे:

  • LVGL लायब्ररी: ते AEK-LCD-DT028V1 बेसिक ग्राफिक लायब्ररीवर आधारित प्रगत ग्राफिकल फंक्शन्स लागू करते:
    - aek_ili9341_drawPixel: ते AEK-LCD-DT028V1 LCD वर पिक्सेल प्रिंट करते;
    - aek_lcd_get_touch फीडबॅक: ते AEK-LCD-DT028V1 LCD टच स्क्रीनवर स्पर्श शोधते;
    – aek_lcd_read_touchPos: याला स्पर्श केलेल्या बिंदूचे निर्देशांक मिळतात;
    – aek_lcd_set_touch फीडबॅक: हे ध्वजांकित करते की स्पर्श क्रिया पूर्ण झाली आहे.
  • मूलभूत ग्राफिक लायब्ररी: ते मूलभूत ग्राफिक कार्ये लागू करते आणि निम्न-स्तरीय ड्रायव्हर प्राइमिटिव्ह कॉल करते.
  • निम्न-स्तरीय ड्रायव्हर: ते MCU परिधीय लागू करते. या प्रकरणात, SPI प्रोटोकॉल वापरला जातो.
  • AEK-LCD-DT028V1: LCD मूल्यांकन मंडळ.

LVGL मूलभूत

LVGL लायब्ररी AEK-LCD-DT028V1 घटकाशी दोन ड्रायव्हर्स Disprove आणि IndevDriver द्वारे परस्परसंवाद करते, खालील चित्रात दाखवल्याप्रमाणे.LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - LVGL ड्राइवरडिस्प्रूव्ह बफर इमेज तयार करण्याचे आणि ते LCD वर प्रदर्शित करण्यासाठी खालच्या स्तरावर पास करण्याचे प्रभारी आहे. हे खालील lv_disp_drv_t टाइप केलेली रचना वापरते:

  • draw_buf: हे मेमरी बफर स्ट्रक्चरला सूचित करते ज्यामध्ये LVGL काढतो.
  •  भाड्याने घेणारे: पिक्सेलमध्ये डिस्प्लेचे क्षैतिज रिझोल्यूशन.
  • Verres: पिक्सेलमध्ये डिस्प्लेचे अनुलंब रिझोल्यूशन.
  • flush_cb: हे LCD डिस्प्लेवर मेमरी बफर प्रिंट करण्यासाठी वापरल्या जाणार्‍या फंक्शनकडे निर्देश करते.
  •  मॉनिटर_सीबी: ते पिक्सेलची संख्या आणि डेटा प्रदर्शित करण्यासाठी लागणारा वेळ यावर लक्ष ठेवते.
    दुसऱ्या बाजूला, IndevDriver खालच्या लेयरमधून येणारी LCD टच माहिती पुनर्प्राप्त करते. हे खालील lv_indev_drv_t टाइप केलेली रचना वापरते:
    प्रकार: या फील्डमध्ये इनपुट उपकरणाचा प्रकार आहे. पूर्वनिर्धारित उपलब्ध मॅक्रोमध्ये हे समाविष्ट आहे:
    – LV_INDEV_TYPE_POINTER (आमच्या बाबतीत वापरलेले)
    – LV_INDEV_TYPE_KEYPAD
    – LV_INDEV_TYPE_ENCODER
    – LV_INDEV_TYPE_BUTTON
    redact: ते स्पर्श माहिती पुनर्प्राप्त करण्यासाठी वापरल्या जाणार्‍या कार्याकडे निर्देश करते.
    flush_cb आणि redact: वापरकर्ता-परिभाषित स्क्रीन रिफ्रेश कालावधी आणि टच रीफ्रेश इनपुटवर अनुक्रमे नियतकालिक आधारित म्हटले जाते. LVGL लायब्ररी अंतर्गत घड्याळाद्वारे रिफ्रेश वेळा व्यवस्थापित करते. वेळ व्यवस्थापनासाठी दोन मूलभूत LVGL कार्ये वापरली जातात:
  • lv_tick_inc(uint32_t x): या कार्याचे उद्दिष्ट MCU च्या भौतिक वेळेसह LVGL वेळ समक्रमित करणे आहे. LVGL स्पेसिफिकेशननुसार टिक अपडेट 1 ते 10 मिलीसेकंद दरम्यान सेट करणे आवश्यक आहे. मध्ये
    आमचे केस, आम्ही ते 5 मिलिसेकंदांवर सेट केले.
  • lv_timer_handler (void): ते गेलेल्या वेळेवर आधारित अंतर्गत LVGL ऑब्जेक्ट्स अपडेट करते. MCU च्या प्रोग्रॅमेबल इंटरप्ट टाइमर (PIT) पेरिफेरलद्वारे भौतिक वेळेचे परीक्षण केले जाते.

LVGL आणि AEK-LCD-DT028V1 घटकामधील इंटरफेस

AEK-LCD-LVGL आणि AEK-LCD-DT028V1 घटकांमधील इंटरफेस file lcd_lvgl.c नावाचे "aek_lcd_lvgl_component_rla" फोल्डर अंतर्गत स्थित आहे. या file फंक्शन्स समाविष्टीत आहे:

  • LVGL लायब्ररी सुरू करा,
  • LVGL अंतर्गत टाइमर व्यवस्थापित करा,
  • AEK-LCD-DT028V1 घटकाद्वारे लागू केलेल्या मूलभूत ग्राफिक लायब्ररीसह LVGL लायब्ररीचा इंटरफेस.

पाच प्रमुख कार्ये पुढील परिच्छेदांमध्ये स्पष्ट केली आहेत.
 3.1 Init प्रदर्शित करा
aek_lcd_lvgl_display_init फंक्शन दोन LVGL की संरचना, Disprove आणि IndevDriver सुरू करते.
 3.1.1 नाकारणे
LVGL साठी ड्रॉइंग बफर धारण करणे हे डिस्प्रूव्ह स्ट्रक्चरचे मुख्य ध्येय आहे. Disprove draw_buf फील्ड पॉइंट मेमरी बफर स्ट्रक्चरमध्ये दोन भिन्न मेमरी बफर समाविष्ट करण्यास सक्षम आहे. draw_buf फील्ड lv_disp_draw_buf_init() फंक्शनसह आरंभ केला जातो.LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - draw_buf आरंभीकरणवरील कोडमध्ये, DISP_HOR_RES आणि DISP_VER_RES पॅरामीटर्स LCD परिमाण दर्शवतात.
टीप:
बफर आकार प्रणाली उपलब्ध मेमरी नुसार सानुकूलित करणे आवश्यक आहे. अधिकृत LVGL मार्गदर्शक स्क्रीन आकाराच्या किमान 1/10 च्या ड्रॉइंग बफरचा आकार निवडण्याची शिफारस करतो. जर दुसरा पर्यायी बफर वापरला असेल, तर LVGL एका बफरमध्ये टॅप करू शकते तर दुसऱ्या बफरचा डेटा बॅकग्राउंडमध्ये प्रदर्शित करण्यासाठी पाठवला जातो.LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - draw_buf आरंभीकरण 1संरचनेचे इतर मापदंड म्हणजे स्क्रीनचे परिमाण, दोन कार्ये, फ्लश आणि मॉनिटर_सीबी, ज्याचे आपण नंतर विश्लेषण करू. एकदा भरल्यानंतर, सक्रिय डिस्प्ले सेट करण्यासाठी समर्पित lv_disp_drv_register() फंक्शनसह रचना नोंदणीकृत करणे आवश्यक आहे.
3.1.2 IndevDriver
IndevDriver खालीलप्रमाणे सुरू केले आहे:LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - draw_buf आरंभीकरण 2मुख्य परिभाषित फील्ड वापरलेल्या उपकरणाचा प्रकार आणि ते व्यवस्थापित करण्यासाठी कार्य आहेत. तसेच या प्रकरणात, डिव्हाइस सक्रिय होण्यासाठी प्रारंभिक रचना नोंदणीकृत करणे आवश्यक आहे.
3.2 फ्लश
फ्लश फंक्शन AEK-LCD-DT028V1 घटक मूलभूत ग्राफिक लायब्ररी वापरते, LCD वर, मेमरी बफरमध्ये उपस्थित असलेली प्रतिमा मागील परिच्छेदानुसार आरंभ केली जाते.LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - फ्लश फंक्शनफ्लश फंक्शन स्केलेटन LVGL फंक्शनद्वारे प्रदान केले गेले आहे आणि वापरात असलेल्या LCD स्क्रीन ड्रायव्हरसाठी (उदा. aek_ili9341_drawPixel – पिक्सेल ड्रॉइंग) सानुकूलित केले आहे. इनपुट पॅरामीटर्स आहेत:

  • कोरडे: डिस्प्रूव्हचा सूचक
  • क्षेत्र: बफर ज्यामध्ये विशिष्ट क्षेत्र आहे जे अद्यतनित करणे आवश्यक आहे
  • रंग: बफर ज्यामध्ये मुद्रित करायचे रंग असतात.

3.3 मॉनिटर_सीबी
मॉनिटर_सीबी फंक्शन अधिकृत LVGL मार्गदर्शकामध्ये परिभाषित केले आहे आणि त्याला सानुकूलित करण्याची आवश्यकता नाही.LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - मॉनिटर_सीबी फंक्शन3.4 माझे_इनपुट_वाचणे
my_input_read फंक्शन उच्च स्तरावर LCD स्क्रीनवरून येणारे इनपुट व्यवस्थापित करण्यासाठी प्रभारी आहे.
फंक्शन स्केलेटनची व्याख्या LVGL लायब्ररीद्वारे केली जाते. इनपुट पॅरामीटर्स आहेत:

  • drv: आरंभिक इनपुट ड्रायव्हरला पॉइंटर
  • डेटा: स्पर्श केलेल्या बिंदूंचे पिक्सेल-रूपांतरित x,y समन्वय समाविष्टीत आहे खालील प्रतिमा my_input_read फंक्शनची अंमलबजावणी दर्शवते:

LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - रिड फंक्शन3.5 स्क्रीन रिफ्रेश करा
aek_lcd_lvgl_refresh_screen फंक्शन LVGL अंतर्गत टाइमर अद्यतनित करते.
टीप: LVGL वेळेची मर्यादा पूर्ण करण्यासाठी हे फंक्शन ऍप्लिकेशन कोडमध्ये योग्यरित्या ठेवले पाहिजे.LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - स्क्रीन फंक्शन

ऑटोडेव्हकिट इकोसिस्टम

AEK-LCD-LVGL वापरणारे ऍप्लिकेशन डेव्हलपमेंट पूर्ण ऍडव्हान घेतेtagच्या e AutoDevKit इकोसिस्टम, ज्याचे मूलभूत घटक आहेत:

  • AutoDevKit स्टुडिओ IDE वरून इंस्टॉल करण्यायोग्य www.st.com/autodevkitsw
  • Windows साठी SPC5-UDESTK डीबगिंग सॉफ्टवेअर किंवा उघडलेले डीबगर
  •  AEK-LCD-LVGL ड्राइव्ह

4.1AutoDevKit स्टुडिओ 
AutoDevKit स्टुडिओ (STSW-AUTODEVKIT) SPC5 पॉवर आर्किटेक्चर 32-बिट मायक्रोकंट्रोलर्सवर आधारित एम्बेडेड ऍप्लिकेशन्सच्या विकासास मदत करण्यासाठी डिझाइन केलेले ग्रहण वर आधारित एकात्मिक विकास वातावरण (IDE) आहे.
पॅकेजमध्ये सर्व संबंधित घटकांसह प्रकल्प सुरू करण्यासाठी अनुप्रयोग विझार्ड आणि अंतिम अनुप्रयोग स्त्रोत कोड व्युत्पन्न करण्यासाठी आवश्यक असलेल्या मुख्य घटकांचा समावेश आहे. AutoDevKit स्टुडिओ देखील वैशिष्ट्ये:

  • मानक Eclipse मार्केटप्लेसमधून इतर सॉफ्टवेअर उत्पादने एकत्रित करण्याची शक्यता
  • मोफत परवाना GCC GNU C कंपाइलर घटक
  • उद्योग-मानक कंपाइलर्ससाठी समर्थन
  • मल्टी-कोर मायक्रोकंट्रोलरसाठी समर्थन
  •  MCU पिन कॉन्फिगरेशन सुलभ करण्यासाठी PinMap संपादक
  •  एकात्मिक हार्डवेअर आणि सॉफ्टवेअर घटक, घटक सुसंगतता तपासणी, आणि MCU आणि परिधीय कॉन्फिगरेशन साधने
  • सुसंगत फंक्शन बोर्ड जोडून किंवा काढून टाकून विद्यमान लोकांमधून नवीन सिस्टम सोल्यूशन्स तयार करण्याची शक्यता
  • कोणत्याही सुसंगत MCU साठी नवीन कोड त्वरित व्युत्पन्न केला जाऊ शकतो
  •  AEK-LCDLVGL घटकासह, प्रत्येक कार्यात्मक घटक नियंत्रित करण्यासाठी उच्च-स्तरीय अनुप्रयोग APIs.

अधिक माहितीसाठी पहा यूएम 2623 (विशेषतः, विभाग 6 आणि विभाग 7) किंवा व्हिडिओ ट्यूटोरियल पहा.
4.2 AEK_LCD_LVGL घटक
प्रोग्रामिंग फेज सुलभ करण्यासाठी AEK-LVGL ड्राइव्हर्सना STSW-AUTODEVKIT (आवृत्ती 2.0.0 पासून) इन्स्टॉलेशन प्रदान केले आहे.
नवीनतम आवृत्ती मिळविण्यासाठी तुमचे AutoDevKit इंस्टॉलेशन अपडेट करा. एकदा योग्यरित्या स्थापित केल्यानंतर, AEK_LVGL घटक RLA नावाचा घटक निवडा.
4.2.1 AEK_LCD_LVGL घटक कॉन्फिगरेशन
घटक कॉन्फिगर करण्यासाठी, खालील प्रक्रियेचे अनुसरण करा.
पायरी 1. Refr_Period वेळ सेट करा. हा रिफ्रेश स्क्रीन कालावधी आहे (शिफारस केलेले मूल्य 30 आहे).
पायरी 2. Read_Period वेळ सेट करा. खालील दोन टच डिटेक्शनमधील हा किमान वेळ आहे (शिफारस केलेले मूल्य 30 आहे).
पायरी 3. प्रगत विजेट जसे की सावल्या, ग्रेडियंट, गोलाकार कोपरे, वर्तुळे, आर्क्स, स्क्यू लाईन्स आणि इमेज ट्रान्सफॉर्मेशन सक्षम करण्यासाठी ड्रॉ कॉम्प्लेक्स बॉक्सवर टिक करा.
पायरी 4. तुम्हाला वापरायचे असलेले फॉन्ट निवडा. व्युत्पन्न केलेल्या ऍप्लिकेशन कोडसाठी प्रत्येक फॉन्टला अतिरिक्त फ्लॅश मेमरी आवश्यक आहे याचा विचार करा.LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - घटक RLA कॉन्फिगरेशन

SPC58EC वर आधारित AEK-LCD-LVGL घटकासह AutoDevKit प्रकल्प कसा तयार करायचा

पायऱ्या आहेत:
पायरी 1. SPC58EC मालिका मायक्रोकंट्रोलरसाठी नवीन AutoDevKit स्टुडिओ अनुप्रयोग तयार करा आणि खालील घटक जोडा:
– SPC58ECxx Init पॅकेज घटक RLA
– SPC58ECxx लो लेव्हल ड्रायव्हर्स घटक RLA
टीप:
हे घटक सुरुवातीला जोडा, अन्यथा उर्वरित घटक दिसणार नाहीत.
पायरी 2. खालील अतिरिक्त घटक जोडा:
पायरी 2a. AutoDevKit Init पॅकेज घटक
पायरी 2b. SPC58ECxx प्लॅटफॉर्म घटक RLA
पायरी 2c. AEK-LCD-DT028V1 घटक RLA (पहा यूएम 2939 कॉन्फिगरेशनसाठी)
पायरी 2d. AEK-LCD-LVGL घटक RLALCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - घटक जोडणेपायरी 3. AEK-LCD-LVGL कॉन्फिगरेशन विंडोमधील [वाटप] बटणावर क्लिक करा. हे ऑपरेशन AEK-LCD-LVGL कॉन्फिगरेशन AutoDevKit ला सोपवते.
पायरी 4. वाटपाने PIT टाइमर पेरिफेरल सक्षम केले आहे. तुम्ही ते लो-लेव्हल ड्रायव्हर घटकामध्ये सत्यापित करू शकता.LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - घटक जोडणेपायरी 5. AutoDevKit स्टुडिओमध्ये योग्य आयकॉन वापरून अॅप्लिकेशन तयार करा आणि तयार करा. प्रकल्प फोल्डर नंतर नवीन सह पॉप्युलेट होईल files, main.c सह. घटक फोल्डर नंतर AEKLCD-DT028V1 आणि सह पॉप्युलेट केले जाते
AEK-LCD-LVGL ड्रायव्हर्स.
पायरी 6. मॅनिक उघडा file आणि AEK-LCD-DT028V1.h आणि AEK_LCD_LVGL.h समाविष्ट करा files.LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - main.c fileपायरी 7. मॅनिकमध्ये file, irqIsrEnable() फंक्शन नंतर, खालील अनिवार्य फंक्शन्स घाला:LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - अनिवार्य कार्येपायरी 8. main.c मध्ये, माजी कॉपी आणि पेस्ट कराampएलव्हीजीएल लायब्ररीतून अधिकृत मार्गदर्शकाकडून घेतले आणि ते मुख्य() मध्ये घाला.LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - उदाample पासूनपायरी 9. अनुप्रयोग जतन करा, तयार करा आणि संकलित करा.
पायरी 10. बोर्ड उघडा view AutoDevKit द्वारे प्रदान केलेले संपादक हे बोर्ड कसे वायर करायचे याबद्दल ग्राफिकल पॉइंट-टू-पॉइंट मार्गदर्शक प्रदान करते.
पायरी 11. मिनी-USB ते USB केबल वापरून AEK-LCD-DT028V1 ला तुमच्या PC वरील USB पोर्टशी कनेक्ट करा.
पायरी 12. SPC5-UDESTK-SW लाँच करा आणि डीबग उघडा file AEK-LCD-LVGL- अनुप्रयोग /UDE फोल्डरमध्ये.
पायरी 13. तुमचा कोड चालवा आणि डीबग करा.

AEK-LVGL साठी डेमो उपलब्ध आहेत

AEK-LCD-LVGL घटकासह अनेक डेमो प्रदान केले आहेत:

  • SPC582Bxx_RLA AEK_LCD_LVGL चाचणी अर्ज
  • SPC58ECxx_RLA AEK-LCD_LVGL चाचणी अर्ज
  • ड्युअल स्क्रीन AVAS डेमो - SPC58ECxx_RLA_MainEcuForIntegratAVASControl - चाचणी अर्ज

टीप: नवीन AutoDevKit रिलीझसह आणखी डेमो उपलब्ध होऊ शकतात.

प्रगत अर्ज उदाample - ड्युअल स्क्रीन AVAS डेमो

LVGL वापरून प्रगत अनुप्रयोग लागू केला गेला आहे. हा अनुप्रयोग डिस्प्लेमध्ये इंजिन rpms साठी कार गेज काढतो आणि संबंधित गेज अॅनिमेशन व्यवस्थापित करतो.
कार्यान्वित केलेला AVAS ऍप्लिकेशन AEK-AUD-C1D9031 बोर्डवर आधारित आहे आणि पादचाऱ्यांना इलेक्ट्रिक वाहन जवळ येण्याबाबत चेतावणी देण्यासाठी कमी वेगाने कार इंजिनच्या आवाजाचे अनुकरण करते.
डेमोमध्ये, आम्ही AEK-LCD-DT028V1 च्या LCD स्क्रीनवर लागू केलेल्या नियंत्रण पॅनेलद्वारे कार इंजिनचे प्रवेग आणि घसरण (म्हणजे rpms वाढणे/कमी होणे) आणि त्याचा आवाज नक्कल करतो.LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - उदाample पासूनआम्ही दुसरा AEK-LCD-DT028V1 LCD जोडून आणि इंजिन rpm मूल्ये मोजण्यासाठी स्पीडोमीटर तयार करण्यासाठी LVGL लायब्ररी वापरून डेमो वाढवला आहे.
7.1 LVGL विजेट्स वापरले
ड्युअल स्क्रीन AVAS डेमो विकसित करण्यासाठी, आम्ही खालील LVGL विजेट्स वापरले आहेत:

  • टॅकोमीटर पार्श्वभूमी म्हणून वापरलेली प्रतिमा
  • टॅकोमीटर इंडिकेटर म्हणून वापरलेला चाप
  • इंजिन rpm नुसार चाप मूल्य अद्यतनित करणारे अॅनिमेशन

7.1.1 एक LVGL प्रतिमा विजेट
LVGL लायब्ररीसह प्रतिमा वापरण्यासाठी, विनामूल्य ऑनलाइन वापरून ती C अॅरेमध्ये रूपांतरित करा कनवर्टरLCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - LVGL इमेज विजेटटीप:
प्रतिमा रूपांतरित करताना बिग-एंडियन फॉरमॅटच्या बॉक्सवर टिक करणे लक्षात ठेवा.
ड्युअल स्क्रीन एव्हीएएस डेमोमध्ये, टॅकोमीटर प्रतिमेचे प्रतिनिधित्व करणाऱ्या सी अॅरेला गेज असे नाव देण्यात आले आहे. प्रतिमा विजेट म्हणून सानुकूलित केले गेले आहे खालीलप्रमाणेLCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - टॅकोमीटर पार्श्वभूमी प्रतिमाकुठे:

  • lv_img_declare: गेज नावाची प्रतिमा घोषित करण्यासाठी वापरली जाते.
  • lv_img_create: इमेज ऑब्जेक्ट तयार करण्यासाठी आणि वर्तमान स्क्रीनशी संलग्न करण्यासाठी वापरला जातो.
  •  lv_img_set_src: पूर्वी दर्शविलेल्या LVGL कन्व्हर्टरमधून प्राप्त केलेली ही प्रतिमा आहे (जेपीजी स्वरूप वापरण्याची शिफारस केली जाते).
  • lv_obj_align: दिलेल्या ऑफसेटसह प्रतिमा मध्यभागी संरेखित करण्यासाठी वापरली जाते.
  • lv_obj_set_size: प्रतिमेचा आकार सेट करण्यासाठी वापरला जातो.

टीप:
LVGL लायब्ररीसह प्रतिमा कशी व्यवस्थापित करावी याबद्दल अधिक तपशीलांसाठी, अधिकृत दस्तऐवजीकरण पहा.
7.1.2 एक LVGL आर्क विजेट
इंजिन तात्काळ आरपीएम दर्शविण्यासाठी एक बहुरंगी चाप तयार केला गेला आहे. बहुरंगी कमानीमध्ये अनुक्रमे लाल आणि निळा असे दोन संलग्न रंग असतात.LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - AVAS टॅकोमीटरखालील कोड कसे तयार करायचे ते दाखवते चाप:LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - AVAS टॅकोमीटरकुठे:

  • lv_arc_create: एक आर्क ऑब्जेक्ट तयार करते.
  • lv_arc_set_rotation: चाप रोटेशन सेट करते.
  •  lv_arc_set_bg_angles: कमाल आणि किमान चाप मूल्य अंशांमध्ये सेट करते.
  • lv_arc_set_value: चाप प्रारंभिक मूल्य शून्यावर सेट करते.
  •  lv_obj_set_size: चाप परिमाणे सेट करते.
  • lv_obj_remove_style: चाप अंतिम पॉइंटर काढून टाकते.
  • lv_obj_clear_flag: चाप क्लिक करण्यायोग्य नाही म्हणून सेट करते.
  • lv_obj_align: निर्दिष्ट ऑफसेटसह कंस मध्यभागी संरेखित करते.

7.1.3 विजेट संबंधित अॅनिमेशन
rpm बदल प्रदर्शित करण्यासाठी विशिष्ट आर्क अॅनिमेशन फंक्शन तयार केले जाते आणि LVGL इंजिनला दिले जाते. फंक्शन कोड आहे खालील:LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - अॅनिमेशन फंक्शनकुठे:

  • arc: सध्याच्या आर्क विजेटचा पॉइंटर आहे
  •  विलंब: अॅनिमेशन सुरू होण्यापूर्वीचा विलंब वेळ आहे
  • start: प्रारंभिक चाप स्थिती आहे
  •  end: अंतिम चाप स्थिती आहे
  • गती: युनिट/सेकंद मध्ये अॅनिमेशन गती आहे.

टीप: वापरलेल्या अॅनिमेशन कार्यांबद्दल अधिक तपशीलांसाठी, LVGL दस्तऐवजीकरण पहा. संपूर्ण कमानीमध्ये दोन संलग्न कमानी असतात हे लक्षात घेता, आम्हाला अॅनिमेशन कार्य योग्यरित्या व्यवस्थापित करावे लागले. या उद्देशासाठी, दोन भिन्न परिस्थितींचे विश्लेषण करूया:

  1. केस: अॅनिमेशनमध्ये एक चाप असतो या सोप्या प्रकरणात, आम्ही कमानाला एकच अॅनिमेशन नियुक्त करतो.LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - Arc animationq
  2. केस: अॅनिमेशनमध्ये दोन कमानी असतात या प्रकरणात, दुसऱ्या कमानीचे अॅनिमेशन पहिल्याच्या अॅनिमेशनच्या शेवटी सुरू होते.LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - आर्क अॅनिमेशन

विशिष्ट LVGL फंक्शन (lv_anim_speed_to_time) अॅनिमेशन वेळेची गणना करते. ही अंमलबजावणी वेळ दुसऱ्या आर्क अॅनिमेशनच्या विलंबाची गणना करण्यासाठी वापरली जाते.LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - दुसऱ्या चापचे इले7.2 दुहेरी कोर अंमलबजावणी
ड्युअल स्क्रीन AVAS डेमोमध्ये, डिस्प्ले आणि ऑडिओ प्लेबॅक कार्ये एकाच वेळी रिअल-टाइम एम्बेडेड सिस्टममध्ये कार्यान्वित केली जातात. सिस्टमच्या प्रतिसादाच्या संभाव्य नुकसानावर मात करण्यासाठी, आम्ही दोन भिन्न कोर वापरण्याचे ठरवले आहे: एक प्रदर्शनासाठी समर्पित आणि दुसरा ऑडिओ प्लेबॅकसाठी.
AEK-MCU-C4MLIT1 बोर्ड ड्युअल कोर प्रोसेसरसह SPC58EC80E5 मायक्रोकंट्रोलर होस्ट करतो, वर वर्णन केलेल्या केससाठी सर्वोत्तम फिट आहे.
तपशीलवार:

  • कोर 2: हे सर्वप्रथम सुरू होते, ते लायब्ररी सुरू करते आणि नंतर अनुप्रयोग कोड कार्यान्वित करते.
  • कोर 0: सतत डिस्प्ले अपडेट करण्यासाठी आणि टच इनपुट वाचण्यासाठी ते मुख्य लूपमध्ये aek_lcd_lvgl_refresh_screen() फंक्शनला कॉल करते.

LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी - SPC58EC80E5 मायक्रोकंट्रोलर कोर इनिशिएलायझेशनPIT फंक्शन्स आणि aek_lcd_lvgl_refresh_screen() एकाच कोरमध्ये ठेवणे आवश्यक आहे.
पुनरावृत्ती इतिहास
तक्ता 1. दस्तऐवज पुनरावृत्ती इतिहास

तारीख उजळणी बदल
२९-ऑक्टो-२०२४ 1 प्रारंभिक प्रकाशन.

महत्वाची सूचना – काळजीपूर्वक वाचा
STMicroelectronics NV आणि त्याच्या उपकंपन्या (“ST”) ST उत्पादनांमध्ये आणि/किंवा या दस्तऐवजात कोणत्याही वेळी सूचना न देता बदल, सुधारणा, सुधारणा, सुधारणा आणि सुधारणा करण्याचा अधिकार राखून ठेवतात. खरेदीदारांनी ऑर्डर देण्यापूर्वी एसटी उत्पादनांची नवीनतम माहिती मिळवावी. ऑर्डर पावतीच्या वेळी एसटी उत्पादनांची विक्री एसटीच्या अटी आणि नियमांनुसार केली जाते. एसटी उत्पादनांची निवड, निवड आणि वापर यासाठी खरेदीदार पूर्णपणे जबाबदार आहेत आणि एसटी अर्ज सहाय्यासाठी किंवा खरेदीदारांच्या उत्पादनांच्या डिझाइनसाठी कोणतेही दायित्व गृहीत धरत नाही.
कोणताही बौद्धिक संपदा अधिकाराचा कोणताही परवाना, व्यक्त किंवा निहित, येथे एसटीकडून मंजूर नाही.
येथे नमूद केलेल्या माहितीपेक्षा वेगळ्या तरतुदींसह एसटी उत्पादनांची पुनर्विक्री अशा उत्पादनासाठी एसटीने दिलेली कोणतीही हमी रद्द करेल.
एसटी आणि एसटी लोगो हे एसटीचे ट्रेडमार्क आहेत. एसटी ट्रेडमार्कबद्दल अतिरिक्त माहितीसाठी, पहा www.st.com/trademarks. इतर सर्व उत्पादन किंवा सेवा नावे त्यांच्या संबंधित मालकांची मालमत्ता आहेत.
या दस्तऐवजातील माहिती या दस्तऐवजाच्या कोणत्याही आधीच्या आवृत्त्यांमध्ये पूर्वी पुरवलेल्या माहितीची जागा घेते आणि पुनर्स्थित करते. © 2023 STMicroelectronics – सर्व हक्क राखीव

STMicroelectronics लोगोUM3236 – Rev 1 – ऑक्टोबर 2023
अधिक माहितीसाठी तुमच्या स्थानिक STMicroelectronics विक्रीशी संपर्क साधा

कागदपत्रे / संसाधने

LCD डिस्प्लेसाठी STMicroelectronics UM3236 LVGL लायब्ररी [pdf] वापरकर्ता मॅन्युअल
AEK-LCD-DT028V1, UM3236, UM3236 LCD डिस्प्लेसाठी LVGL लायब्ररी, LCD डिस्प्लेसाठी LVGL लायब्ररी, LCD डिस्प्लेसाठी लायब्ररी, LCD डिस्प्ले

संदर्भ

एक टिप्पणी द्या

तुमचा ईमेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित आहेत *