GithubHelp home page GithubHelp logo

Comments (6)

kisvegabor avatar kisvegabor commented on June 11, 2024

Can you send a pull request to fix it?

from lv_port_esp32.

Boldie avatar Boldie commented on June 11, 2024

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.

kisvegabor avatar kisvegabor commented on June 11, 2024

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.

Boldie avatar Boldie commented on June 11, 2024

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.

kisvegabor avatar kisvegabor commented on June 11, 2024

You are right. I'll update it.

from lv_port_esp32.

kisvegabor avatar kisvegabor commented on June 11, 2024

I've fixed it! Thank you for pointing out this issue.

from lv_port_esp32.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.