Open archerindigo opened 2 years ago
@wjb321 May you set some smaller goals regarding the development of the HoloCube software and update the progress from time-to-time?
I will set several subgoals and put them below.
You should create new issues when you set your sub-goals. Better fit a week of workload for each task.
there are some basic tasks that I did in local disk about LCD(lvgl) and recently I will upload the local notes and update the tasks below:
e, sometimes building a esp-idf project in vscode, the menuconfig will stop in initial values state forever :(, for solving this issue, it took quite a long time to solve, the final solutions were either make sure the repository esp-idf is the same root directory in the file or need configure the environment path. f, the project opened in vscode can not be second level dir, it will make build file in the same level with the project, then the menuconfig will stop at loading initial variables forever again. g, when esp-idf is in the same file, the example sub-file can be deleted, somehow can make the building time shorter
h, esp-idf building steps esp-idf-soc
after configuring the esp-idf , there are main three files can get from lvgl githublvgl_components where the tft/touch, example, lvgl located. also the alternative way is get plug-in in vscode, which is same like getting esp-idf in vscode or the github directly.
A, after clone all the files mentioned above then start the journey. in driver file(show above), there are mainly 2 parts, one is the tft driver, another one is touch driver. here I use st7989 ips lcd and no touch function, so I remove the touch driver.
B, Code porting, there are main three files need to be modified in order to drive different LCD.these files according different requirements need to be modified. Reference sorry for Chinese GUI guide
+ User_Setup_Select.h
- Copy lv_conf_template.h and rename it as lv_conf.h
+ user_setup.h
C, Now come to GUI design, according to different components, build different labels and animations. here are the simulators that I used Visual Studio and Code Blocks , and after testing working fine, then I porting to LVGL projects and run it. here are:animand labels for lvgl.
for picture loading there are mainly 2 options:
now can load the pic from flash and read txt file from sd card, but for reading some gifs from sd card or flash still can not work.
done with the drivers of gif files, it mainly has these configurations: gif drivers needed:
lv_gif.h/c same like img with these lv_gif_create() lv_gif_set_src() lv_gif_restart()
gifdec.c/h decode the gif(open gif data or file name and render frame)
TFT_eSPI drivers needed:
User_Setup.h : uncomment the needed ips drives #define and relative ips pins User_Setup_Select.h: uncomment the needed ips setups
c struct reformat
change the format of the c.array
I tried get some online gif and cropped gif into needed size and convert gif online into raw and .c array(flash read), but it is not working(only blinking) I think it can be the online cropping tool has some influence. and tried another converted gif, it works fine. I would like to change the interface of the game into gif
but the lvgl for gif is based on v8.1.0 the project for 2048 is v7, so code porting is more troublesome, requiring many library file driver changes and adaptation adjustments.
Evaluate LCD library to see how to control image displays.
May break this issue into smaller issues.