Elm⭕️niC
654 subscribers
67 photos
50 videos
10 files
53 links
🔹آمورش و حل چالش های سیستم گرافیکی LVGL

🔸لینک اینستاگرام
🌐 https://www.instagram.com/shokrolahi.ali.m

🔸گروه پرسش و پاسخ LVGL
🌐 https://t.me/+9v90R61dBQ0wN2Y8

🔸گروه پرسش پاسخ عمومی
🌐 https://t.me/+tczz6yFEz5IxNTg0

🔸ارتباط با admin
@ElmOniC_admi
Download Telegram
یک پروژه lvgl که با سیمولاتور راه اندازی میکنم و در قسمتی از اون log گذاشتم.مشکلی که هست در زمان run بودن پروژه و تا زمانی که خروجی سیمولاتور در حال اجراست چیزی توی پنجره console نمایش نمیده. وقتی که خروجی سیمولاتور رو میبندم تمام log ها با هم نشون میده!!
Final Results
71%
منم همین مشکل دارم😑
14%
حلش کردم😇
14%
من چنین مشکلی ندارم😊
Elm⭕️niC pinned «یک پروژه lvgl که با سیمولاتور راه اندازی میکنم و در قسمتی از اون log گذاشتم.مشکلی که هست در زمان run بودن پروژه و تا زمانی که خروجی سیمولاتور در حال اجراست چیزی توی پنجره console نمایش نمیده. وقتی که خروجی سیمولاتور رو میبندم تمام log ها با هم نشون میده!!»
چطوری میتونیم متغییر هایی که داخل نرم افزار eez studio تعریف می کنیم در طول برنامه بخوانیم یا بنویسیم. حالا اگر استراکچر باشه چطوری میشه این کارو انجام داد؟
Final Results
71%
منم این مورد هنوز یاد نگرفتم😑
12%
به چه کاری میاد!!😏
18%
این تعریف متغییر ها خیلی کاربردیه😇
داخل نرم افزار eez studio میشه یک user action داشته باشیم که در زمان ایجاد یک ویجت فراخوانی بشه؟ تا بعضی تنظیمات رو از طریق کد انجام بدیم؟
Final Results
60%
بله از طریق event ها😇
40%
خیر قابل انجام نیست😑
4👍1
Elm⭕️niC
چطوری میتونیم متغییر هایی که داخل نرم افزار eez studio تعریف می کنیم در طول برنامه بخوانیم یا بنویسیم. حالا اگر استراکچر باشه چطوری میشه این کارو انجام داد؟
سلام به همه ببخشید من نبودم دوستان چند روزی بریم سراغ جواب ها که خیلی دیر شد🙏

⭕️ بریم سراغ راه حل این مشکل

🔻نرم‌افزار eez studio برای اینکه شما بتوانید یک سری اطلاعات بین صفحه هات و سخت‌افزار جابجا کنید و یا نمایش بدهید در اختیار شما یکسری متغییر قرار میدهد که با تعریف آنها میتوانید این نیاز بر طرف کنید.

🔻 متغییرها هم میتواند داخل کد قابل خواندن و نوشتن باشد و هم فقط داخل محیط گرافیکی باشد.

🔻 خوب این امکان به شما خیلی کمک میکند که میتوانید به راحتی اطلاعات سخت افزاری داخل محیط گرافیکی نمایش بدهید مثلا نمایش دما که با ست کردن مقدار درون متغییر اتوماتیک در سیستم گرافیکی قرار میگیره.

🔸خوب برای استفاده از این امکان داخل برنامه سمت چپ پایین شما میتوانید این متغییر ها به صورت global و local تعریف کنید که با این کار متغییر ها در یک صفحه محدود می شوند یا به صورت سراسری قابل استفاده هستند.

🔸در صورت تعریف در حالت native متغییرها این امکان به شما داده میشود که متغییر ها درون کدتون هم بتوانید بخوانید و هم بنویسید.

🔸به عنوان مثال وقتی یک متغییر تعریف کنید

enum FlowGlobalVariables {
FLOW_GLOBAL_VARIABLE_SLIDER_VAR = 0
};

داخل var.h متغییری به عنوان مثال با نام silder_var تعریف می شود.

🔸حال برای خواندن متغییر با توجه به نوعی که در برنامه تعریف کردید از دستور زیر استفاده کنید.
flow::getGlobalVariable(FLOW_GLOBAL_VARIABLE_MY_VAR).getBoolean();
flow::getGlobalVariable(FLOW_GLOBAL_VARIABLE_MY_VAR).getString();
flow::getGlobalVariable(FLOW_GLOBAL_VARIABLE_MY_VAR).getFloat();
flow::getGlobalVariable(FLOW_GLOBAL_VARIABLE_MY_VAR).getDouble();

🔸 حال اگر نیاز به Set کردن متغییر ها باشید از دستور زیر استفاده کنید.

flow::setGlobalVariable(FLOW_GLOBAL_VARIABLE_MY_VAR, BooleanValue(my_var));
flow::setGlobalVariable(FLOW_GLOBAL_VARIABLE_MY_VAR, StringValue(my_var));
flow::setGlobalVariable(FLOW_GLOBAL_VARIABLE_MY_VAR, FloatValue(my_var));
flow::setGlobalVariable(FLOW_GLOBAL_VARIABLE_MY_VAR, DoubleValue(my_var));

Elm⭕️niC
3👍1
Elm⭕️niC
داخل نرم افزار eez studio میشه یک user action داشته باشیم که در زمان ایجاد یک ویجت فراخوانی بشه؟ تا بعضی تنظیمات رو از طریق کد انجام بدیم؟
⭕️ بریم سراغ راه حل این مشکل

🔻برای این مورد باید از event ها استفاده شود.

🔻رویداد ها یا event ها داخل سیستم گرافیکی lvgl به کاربر کمک میکند که یکسری فرایند ها با سیستم هماهنگ کند و آنها انجام بدهد.

🔻 به عنوان مثال انجام یک سری تنظیمات اولیه در یک صفحه.

🔸 برای این کار شما باید از USER Action داخل نرم افزار استفاده کنید اونم به صورت Native.

🔸 حال برای مثلا انجام تنظیمات اولیه از رویداد
LV_EVENT_SCREEN_LOADED

استفاده کنید.

🔸 برای دیگر رویداد ها از صفحه ی زیر استفاده کنید.

🌐 https://docs.lvgl.io/master/details/base-widget/event.html

Elm⭕️niC
🙏1
در touchgfx یک ویجتی داشتیم که یکسری نقطه به اون میدادیم برای ما شکلی رسم میکرد آیا در LVGL چنین امکانی وجود دارد؟
Final Results
94%
منم به این امکان نیاز دارد😇
6%
کاربردی نیست😊
Elm⭕️niC
در touchgfx یک ویجتی داشتیم که یکسری نقطه به اون میدادیم برای ما شکلی رسم میکرد آیا در LVGL چنین امکانی وجود دارد؟
⭕️ در سیستم گرافیکی LVGL برای کشیدن اشکال هندسی میتوانید از ویجت Line استفاده کنید.
#include "../../lv_examples.h"
#if LV_USE_LINE && LV_BUILD_EXAMPLES

void lv_example_line_1(void)
{
/*Create an array for the points of the line*/
static lv_point_precise_t line_points[] = { {5, 5}, {70, 70}, {120, 10}, {180, 60}, {240, 10} };

/*Create style*/
static lv_style_t style_line;
lv_style_init(&style_line);
lv_style_set_line_width(&style_line, 8);
lv_style_set_line_color(&style_line, lv_palette_main(LV_PALETTE_BLUE));
lv_style_set_line_rounded(&style_line, true);

/*Create a line and apply the new style*/
lv_obj_t * line1;
line1 = lv_line_create(lv_screen_active());
lv_line_set_points(line1, line_points, 5); /*Set the points*/
lv_obj_add_style(line1, &style_line, 0);
lv_obj_center(line1);
}

#endif
⭕️اولین ورژن نرم افزار LVGL Editor رونمایی شد.

🌐https://github.com/lvgl/lvgl_editor/releases/download/v0.1.0/LVGL_Editor-Windows-0.1.0.zip

لینک گیت هاب:
🌐https://github.com/lvgl/lvgl_editor

Elm⭕️niC
7👍1
سلام
چرا نوشته های فارسی
این شکلی میشن؟
توی برنامه eez نوشته ها درست هستن
توی فایل کانفیگ بخش کارکتر های فارسی عربی رو فعال کردن بازم تغییری نکرد
Elm⭕️niC
سلام چرا نوشته های فارسی این شکلی میشن؟ توی برنامه eez نوشته ها درست هستن توی فایل کانفیگ بخش کارکتر های فارسی عربی رو فعال کردن بازم تغییری نکرد
برای حل این مشکل باید یکسری تعریف داخل فایل config.h فعال کنید.
تا lvgl کاراکتر ها و کلمات فارسی را تشخیص دهد.

/** Support bidirectional text. Allows mixing Left-to-Right and Right-to-Left text. 
* The direction will be processed according to the Unicode Bidirectional Algorithm:
* https://www.w3.org/International/articles/inline-bidi-markup/uba-basics */
#define LV_USE_BIDI 1
#if LV_USE_BIDI
/*Set the default direction. Supported values:
*`LV_BASE_DIR_LTR` Left-to-Right
*`LV_BASE_DIR_RTL` Right-to-Left
*`LV_BASE_DIR_AUTO` detect text base direction*/
#define LV_BIDI_BASE_DIR_DEF LV_BASE_DIR_AUTO
#endif


/** Enable Arabic/Persian processing 
* In these languages characters should be replaced with another form based on their position in the text */
#define LV_USE_ARABIC_PERSIAN_CHARS 1
2👍1👏1
Forwarded from Elm⭕️niC
سلام به همه ی دوستان
دوره های آفلاین
🔻مقدماتی(مفاهیم اولیه LVGL همراه با نرم‌افزار SquareLine و سخت افزاری )
🔻دوره پیشرفته و کاربردی LVGL همراه با  eez studio
قابل ارائه است برای سفارش داخل دایرکت به آی دی زیر پیام دهید.

🔻 برای خریداران دوره تخفیف خرید برد GUI قرار داده می شود.

@ElmOniC_admin

Elm⭕️niC
3👍1
⭕️دومین همایش امبدد سیستم و iot
در دانشگاه صنعتی کرمان برگزار می شود.
دوستانی که در گروه هستند با کد تخفیف
elmonic
ثبت نام کنند و از ۲۵ در صد تخفیف شامل شما دوستان می شود.

لینک ثبت نام:
https://event.sisoog.com/2025-kerman/

Elm⭕️niC
4
سلام به همه ی دوستان
دوره های آفلاین آموزش LVGL به مناسبت عید نوروز به دانشجویان تخفیف داده میشود.

🔻مقدماتی(مفاهیم اولیه LVGL همراه با نرم‌افزار SquareLine و سخت افزاری )
🔻دوره پیشرفته و کاربردی LVGL همراه با  eez studio
قابل ارائه است برای سفارش داخل دایرکت به آی دی زیر پیام دهید.

@ElmOniC_admin

Elm⭕️niC
👍2
Elm⭕️niC pinned «سلام به همه ی دوستان دوره های آفلاین آموزش LVGL به مناسبت عید نوروز به دانشجویان تخفیف داده میشود. 🔻مقدماتی(مفاهیم اولیه LVGL همراه با نرم‌افزار SquareLine و سخت افزاری ) 🔻دوره پیشرفته و کاربردی LVGL همراه با  eez studio قابل ارائه است برای سفارش داخل دایرکت…»
LVGL v9.3.0 3 June 2025
Summary
This is a significant release packed with exciting updates from both our community and internal team.
One of the most notable additions is XML support, enabling you to describe your UI in a declarative manner. This way LVGL UI can be loaded at runtime without recompiling and deploying the application. This feature is also a key requirement for the upcoming UI Editor we're developing.
The documentation has been thoroughly reorganized and proofread.
We've also laid the groundwork to support 3D textures as LVGL widgets.
To support our partners, we've added numerous new drivers and documentation:
🔻STM's DMA2D
🔻STM's NeoChrom GPU
🔻STM's LTDC LCD peripheral
🔻Generic NemaGFX driver
🔻NXP's G2D GPU
🔻UEFI BIOS driver
🔻Toradex documentation
🔻Torizon OS guide
🔻Buildroot integration
🔻Added dmabuf support to the Wayland driver (currently limited to G2D draw unit)
🔻Hotplug support in evdev with auto-discovery
🔻Optional use of Linux CPU usage statistics
🔻Text rendering has become much more advanced:
🔻Our FreeType binding now supports colored glyphs and glyph outlines
Text recoloring is back (e.g., "A #ff0000 red# word")
🔻Improved GPU integration to render A1/A2/A4 bitmaps directly
And finally, some other important additions: - New color formats: RGB565_SWAPPED (commonly used with SPI-based display controllers) and ARGB8888_REMULTIPLED (required for Wayland and Lottie animations) - SVG support - Double and triple click detection - Tiled rendering to better utilize multiple CPU cores - Multi-touch gestures (swipe, pinch, rotate) - Global recolor style property (tint all widgets and images) - Triple buffer support

🌐 https://github.com/lvgl/lvgl/releases/tag/v9.3.0
👍3
Elm⭕️niC pinned « LVGL v9.3.0 3 June 2025 Summary This is a significant release packed with exciting updates from both our community and internal team. One of the most notable additions is XML support, enabling you to describe your UI in a declarative manner. This way LVGL…»