lvgl / lv_port_stm32f769_disco

LVGL ported to STM32F769 Discovery using CubeIDE
https://docs.littlevgl.com/v7/en/html/get-started/stm32.html
MIT License
37 stars 22 forks source link

with a "start from scratch" tutorial `.md` file will be better #9

Open r00t1900 opened 2 years ago

r00t1900 commented 2 years ago

I am a big fan of LVGL and I've successfully clone this porting repository and burn into my f769-disco board. The LVGL is pretty good, and I would like to make more things on it.

problem

However:

So I am a little desperated because LVGL is so nice but I can not find a suitable tutorial to start from scratch.

question

more

In a word, I'm a typical software developer as well as a hardware beginner, so I have so many confuses on the hardware development flow. But from my point of view, everything can get started quickly with proper documentation, tools, practice and a correct direction.

I would like to seek all the require elements to get started with LVGL, thank you very much.

kisvegabor commented 2 years ago

Hi,

True, we could have better platform specific docs. The good news is that we stated to work on a new unified driver system which will be an integral part of LVGL. This way you will be able to pick a driver from lv_conf.h (e.g. STM32 LTDC) and create a display using it. But it's still work in progress.

For now you can take a deeper look at the files here. Here tft_init initializes SRAM and LTDC but you can initialize them in CubeMX instead.

Note that, once you have a working display (you can set a pixel to red) it's very simple to write a basic driver for LVGL.

See here.

r00t1900 commented 2 years ago

Hi,

True, we could have better platform specific docs. The good news is that we stated to work on a new unified driver system which will be an integral part of LVGL. This way you will be able to pick a driver from lv_conf.h (e.g. STM32 LTDC) and create a display using it. But it's still work in progress.

For now you can take a deeper look at the files here. Here tft_init initializes SRAM and LTDC but you can initialize them in CubeMX instead.

Note that, once you have a working display (you can set a pixel to red) it's very simple to write a basic driver for LVGL.

See here.

That's so good and I am looking forward to it!

Before that feature be released, can I have a complete lv_port_stm32f769_disco project which is an origin STM32CubeIDE Project with .ioc file? With .ioc file I can modify the GPIO usage in graphic view thanks to the STM32CubeIDE Code Generation Tool.

Currently this repository does not contain a .ioc file that are generated by STM32CubeMX or STM32CubeIDE, which cause developer can not modify the pins as they wish.

kisvegabor commented 2 years ago

Sorry, but I can't immerse in creating and ioc project now. :slightly_frowning_face:

However, I believe if you create an ioc project from a template for this board, you can copy past the drivers found in hal_stm_lvgl and if needed from Utilities/STM32F769I-Discovery.

r00t1900 commented 2 years ago

All right. I just think you may create the project from STM32 Cubemx so you shall have a .ioc file. That's fine, I will try under your instructions, thank you.

kisvegabor commented 2 years ago

Let me know if you get any questions meanwhile.

papadkostas commented 2 years ago

@r00t1900 I think this is easy to be done, I wish I had time to try this but unfortunately.. Like @kisvegabor said, have a look to the hal_stm_lvgl folder. You can do the same with CubeMx. Honestly, I would avoid using CubeMx. I would rather copy some generated stuff to this project to enable functionalities, rather than having a CubeMx project for a project. Anyways, If you need any help, please let me know as well.

stale[bot] commented 1 year ago

This issue or pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.