Comments (6)
Can you send a pull request to fix it?
from lv_port_esp32.
Ohh, I rewrote big parts of the driver part to support xpt2046 calibration, storing calibration to NVS, using a single spi bus (especially this is incompatible with yours, but can be changed to support both variants easily), KConfig, make gpio-pin configuration also working for JTAG pins, removed stack usage for spi_device_queue_trans (may create a crash), ...
But maybe it is of interest for others, I uploaded it as separate repo: https://github.com/Boldie/lv_drv
from lv_port_esp32.
I've examined this issue. As I see it can cause a problem only in ili9341_flush
. However, LittlevGL won't call a new ili9341_flush
while lv_disp_flush_ready()
is not called in spi_ready
. So theoretically it really would be wrong (as you mentioned), but int the practice it should work fine.
Do you think it still should be still fixed?
from lv_port_esp32.
No, this is not correct, because for an update you have to trigger more transfers for one flush:
/*Column addresses*/
ili9341_send_cmd(0x2A); <- GPIO DC needs to be 0
...
ili9341_send_data(data, 4); <- GPIO DC needs to be 1
/*Page addresses*/
ili9341_send_cmd(0x2B); <- GPIO DC needs to be 1
...
ili9341_send_data(data, 4);
/*Memory write*/
ili9341_send_cmd(0x2C);
And in my case, the DC was reset to early and the next command was not understood as it should be.
gpio_set_level(CONFIG_LVGL_DRV_ILI9341_DC, 0); /*Command mode*/
disp_spi_send_data(&cmd, 1); <<< This line returns immediately, but the transfer is not done. The DC can now be reset by the next ili9341_send_data and thus the command is not being recognized as command, it is recognized as data.
I have added a LA to the ESP and I saw the above described case. DC was set to 1 while the command is being sent out by the SPI interface.
from lv_port_esp32.
You are right. I'll update it.
from lv_port_esp32.
I've fixed it! Thank you for pointing out this issue.
from lv_port_esp32.
Related Issues (20)
- Cannot build project with LVGL as component HOT 1
- SPI display drivers do not play nice with other spi devices
- esp32-s3 invalid dma channel HOT 1
- Portrait mode of demos doesn't display correctly
- The link to the forum when you write a PR/issue is incorrect HOT 1
- build with esp-idf-4.4.3 fails HOT 1
- failed to run idf.py menuconfig HOT 3
- updated LVGL+squareline studio+ ESP32 HOT 2
- Demo on older esp-wrover-kit board ( not v4.1) HOT 2
- Display not showing the correct windows while running this example HOT 2
- Sunton ESP32-8048S070 board HOT 8
- How can I add my own components to the project
- Unable to compile on esp-idf version 5.0 HOT 4
- undefined reference to `lv_obj_set_scroll_propagation'
- Cant turn off LV_USE_FLEX
- Horizontal scrolling HOT 4
- fatal error: Arduino_H7_Video.h: No such file or directory
- ESP32C3 - non-LVGL task (temp reading) causes TFT display to go blank and stay blank on second run of task HOT 1
- ssd1306 driver
- ssd1306
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lv_port_esp32.