Coder Social home page Coder Social logo

null hal / qemu hal about hagl HOT 4 OPEN

tuupola avatar tuupola commented on August 30, 2024
null hal / qemu hal

from hagl.

Comments (4)

tuupola avatar tuupola commented on August 30, 2024

It is probably due my lack of understanding how CMake works but I haven't found out a good way to choose a HAL in compile time. Instead HAGL assumes it to be in the folder hagl_hal. This is not optimal but I have not had need for a fix myself so the problem has not been fixed.

Also slightly related I am pondering about enabling running several displays (even with different HALs) at the same time. This would require passing a display object to each function call. Something like:

hagl_display_t display;
    
hagl_init(display);
hagl_put_pixel(display, x0, y0, color);

from hagl.

greenaddress avatar greenaddress commented on August 30, 2024

Yeah I reckon for multiple displays it makes sense to pass in the display as a parameter.

In regards to having conditional builds, I manged to hack something which required no changes to the hagl repo but required some minimal changes to hagl_hal (hagl_esp_mipi)

I attach the patch here - if you like it I can do a PR against hagl_esp_mipi
hagl_hal_external.txt but basically it involves adding a new kconfig that if set doesn't include any of the implementations of the hal, leaving the user of the libraries to provide the implementation. Let me know what you think please!

from hagl.

tuupola avatar tuupola commented on August 30, 2024

Thanks I will check it!

from hagl.

greenaddress avatar greenaddress commented on August 30, 2024

Another option I found is that idf_component_register can be called conditionally - so for example in https://github.com/tuupola/hagl_esp_mipi/blob/master/CMakeLists.txt the register could be conditional on a config like CONFIG_HAGL_MIPI_ENABLE or whichever name you think is most appropriate of course.

Would you like me to do a PR for this instead? or provide a PoC?

from hagl.

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.