Jump to content

All Activity

This stream auto-updates     

  1. Today
  2. Yesterday
  3. Hi, My company and I are investigating purchasing uGFX for a product deployment. However, I have been having difficulty trying to get uGFX to function in our production environment. Before giving up and moving to an alternative solution, I wanted to see if any had any ideas (or even expected that our use-case might be supported). Our Production Environment: Prototype Board: BeagleBone Black Wireless Architecture: armv71 OS: Debian Stretch 9.3 I figured we would use your SDL2 Linux Framebuffer support. However, your guide for Linux suggests that I must install the i386 SDL-dev package due to uGFX requiring a x32 bit compilation - as such it seems that I don't have a way to get this to work in our production environment. It appears there isn't an available installation of gcc-multilib that would work on our architecture either. Let me know your thoughts, and thanks in advance, Adam M.
  4. JFYI: gdisp.c, assign sedge, eedge, startTen, endTan: Warning[Pa093]: implicit conversion from floating point to integer. (float) needs to be added before rvalue. gtimer.c: THREAD_RETURN(0) after while(1) raises Warning[Pe111]: statement is unreachable gwin.c: _gwinDrawEnd(gh) after return in gwinGetPixelColor - same warning
  5. El_Andry

    I2C expander GINPUT

    You mean this ???? : example of ginput_lld_toggle_board.h #ifndef _GDISP_LLD_TOGGLE_BOARD_H #define _GDISP_LLD_TOGGLE_BOARD_H static bool_t init_board(GToggle* t, unsigned instance) { } static GFXINLINE void aquire_bus(GToggle* m) { (void)m; } static GFXINLINE void release_bus(GToggle* m) { (void)m; } static void write_reg(GToggle* m, uint8_t reg, uint8_t val) { (void)m; } static uint8_t read_byte(GToggle* m, uint8_t reg) { (void)m; return 0; } static uint16_t read_word(GToggle* m, uint8_t reg) { (void)m; return 0; } #endif /* _GDISP_LLD_TOGGLE_BOARD_H */ this work ???
  6. Last week
  7. Joel Bodenmann

    I2C expander GINPUT

    You'll handle the I2C stuff in the driver's board file just like with GDISP or any other driver stuff in µGFX.
  8. El_Andry

    I2C expander GINPUT

    how to connect toggle to I2C ??
  9. El_Andry

    I2C expander GINPUT

    Yes. are possible and so
  10. Joel Bodenmann

    I2C expander GINPUT

    You have to write what's called a Toggle driver for the GINPUT module. There's no way to register an IRQ in the upper levels. You'll find information about this on this forum. It's still possible to hack it into the GINPUT driver though.
  11. El_Andry

    I2C expander GINPUT

    How connect I2C expander (example: MCP23017 ) to GINPUT module with IRQ ??? thx:)
  12. I am requesting help with the uGFX library, I saw that it supports the SPFD54124B driver, please help me to inderagi it with the arduino.
  13. Joel Bodenmann

    Force a button to render in a pixmap

    Glad to hear that you got it working
  14. Joel Bodenmann

    SSD1306 text not working

    That project will most likely use auto-flushing or timer based flushing which is simply a setting in gfxconf.h.
  15. Angus Schmaloer

    SSD1306 text not working

    aaah okey, i will look into that. But i couldn't find anything about flushing in the "stm32f401re_nuleo_ssd1306" example project. UPDATE It is working now, thanks, saved me a lot a looking around and searching
  16. Joel Bodenmann

    Hide button

    Can you post a screenshot that shows the problem? Also, there are the high-level calls gwinHide() and gwinShow() which you should use. gwinSetVisible() is fine too though, but check the last parameter. You should definitely not manually touch the flags.
  17. Joel Bodenmann

    SSD1306 text not working

    The SSD1306 is a flush-based GDISP driver. The driver maintains a framebuffer itself which needs to be copied to the actual display controller's framebuffer. That operation is called flushing. Try to call gdispFlush() after rendering. You will find configuration options for flushing in the configuration file and more information in this forum.
  18. Angus Schmaloer

    SSD1306 text not working

    Hey, I want to use the SSD1306 display with the STM32F103 controller. In the "gfxInit();" the uGFX logo is shown, which implies that the I2C works (the write_cmd and write_data). But when i want to display some text, notting happens. I write: " font1 = gdispOpenFont("DejaVuSans12"); font2 = gdispOpenFont("DejaVuSans20"); // Show some stuff on the display gdispDrawString(5, 5, "Hello uGFX!", font2, Black); gdispDrawString(5, 35, "Temp. 1: 24.1", font1, Black); gdispDrawString(5, 50, "Temp. 2: 28.3", font1, Black);" But the write_cmd and write_data are never called (except in the init funct) and the controller is never sending data.
  19. Fabien Comte

    Force a button to render in a pixmap

    it was another problem the source of the segmentation fault.
  20. Fabien Comte

    Hide button

    i replaced gwinSetVisible(ghPushbutton1, FALSE); with ghPushbutton1->flags = ghPushbutton1->flags & ~GWIN_FLG_SYSVISIBLE; and it works
  21. Fabien Comte

    Hide button

    Hello, I want to hide a button before animate another one. That doesn't work (strange colors at old position): gwinSetVisible(ghPushbutton1, FALSE); GWidgetObject * temp_control = ((GWidgetObject *) ghPushbutton1); gdispGFillArea(temp_control->g.display, temp_control->g.x - border, temp_control->g.y - border, temp_control->g.width + 2 * border, temp_control->g.height + 2 * border, GFX_BLACK); That works (hidden but can be clicked): GWidgetObject * temp_control = ((GWidgetObject *) ghPushbutton1); gdispGFillArea(temp_control->g.display, temp_control->g.x - border, temp_control->g.y - border, temp_control->g.width + 2 * border, temp_control->g.height + 2 * border, GFX_BLACK); It looks like if set invisible launched a background task. Do I missed something ?
  22. Fabien Comte

    Force a button to render in a pixmap

    Hello, I want to force a button to render in a pixmap. Is there any clean way ? I tried a dirty hack with "my_button->g.display = pixmap;" but sometimes i get a segmentation fault like if it was Something else that use it. How to do that cleanly please ?
  23. Fabien Comte

    Double buffer style

    Hello, Thank you for your response.
  24. king2

    Double buffer style

    Sorry for writing to this topic. but I have similar needs. I have two displays, one of them is ordinary display with RGB565, and second one - framebuffer with GRAYSCALE256 pixel format. I need to write text to this framebuffer, and after text will be drawn on it - set it as front framebuffer to be actually displayed at screen. I make my own draws in framebuffer (not using uGFX), then call gdispGDrawStringBox, then switch buffers. On screen I can see or normal (fully rendered) text, or incompletely rendered text, or even part of text with gray color, part of it with white color (why? it renders text twice?). I cannot use pixmaps because text should be drawn over pixels in framebuffer, not copied as rectangular area with pixmap background. I also want to be able to switch buffers only when I will be sure that everything is drawn on back framebuffer. Pixmaps is the only way to get synchronous draws in uGFX? Maybe there is a way to tell uGFX that some calls should be rendered immediately and in a synchronous way (do not return from function until it will draw everything requested)?
  25. Joel Bodenmann

    Double buffer style

    Yes, that's possible. With µGFX, almost anything is possible in these regards. You can use a pixmap which is only the size of the button, render the button and then blit the finished one to the actual framebuffer You can also implement full-screen double buffering You can also implement driver level double buffering You can also implement hardware supported double buffering ... What works best (and what's possible) depends on the application, used platform, available resources and so on. There's no general guide to double buffering. In our daily work for customers we use all of the methods above. As always: The right tool for the right job. Each method has different advantages, disadvantages, requirements, complexities and so on. You might also want to keep in mind that flickering can occur from different sources.
  26. Fabien Comte

    Double buffer style

    Hello, I already asked a close question how to use a double buffer. Response was not possible. I have some blink issues when i move a simple buton due to buton background fill. Is there any way to prepare a full render in a pixmap and swap (unsynchronized with display) when done. If not, is there any way to draw completly a control on a pixmap and write it on display when all processing was done ? Thank you ps: my target is linux framebuffer.
  27. king2

    SDRAM, pixmaps and oscilloscope

    This is a reason of smooth displaying. This display have its internal framebuffer, not loading MCU's bus for pixel reading (and as I understand, can prioritize pixel reads for itself). This is good reason for me to not use LTDC + external RAM next time
  28. Joel Bodenmann

    SDRAM, pixmaps and oscilloscope

    I don't want to disturb the conversation, I just feel like these two are worth mentioning/showing: They are both using µGFX on an STM32F407 with no external RAM:
  1. Load more activity
×