Jump to content

cotsos

Members
  • Posts

    3
  • Joined

  • Last visited

  1. I inserted HAL_Delay as a way to simulate a large blocking event. I set the timeout 0 wanting to avoid spending the timeout value waiting for an event. What I did was follow your instructions from 2, inserting a check for NULL, as in the code below, and seems the issue is gone while (1) { /* USER CODE END WHILE */ // HAL_Delay(50); gfxYield(); // Get an event pe = geventEventWait(&glistener,0); if (pe != NULL){ switch (pe->type) { case GEVENT_GWIN_BUTTON: if (((GEventGWinButton*)pe)->gwin == ghButton1) { guiShowPage(1); } if (((GEventGWinButton*)pe)->gwin == ghButton2) { guiShowPage(0); } break; default: break; }} /* USER CODE BEGIN 3 */ }
  2. The driver is pretty much usable and quite fast, with an issue though - ie for item locations close to the diagonal you can easily detect tearing from the panel scan when pressing / depressing for example, guess has to do with DSI in video mode which does stream the framebuffer from the ram continuously.
  3. First of all let me thank you for the ugfx, it is couple of weeks i have been playing with it and it looks awesome. I have met the following issue on an STM32F469 Discovery, BareMetal, with the display and touch driver implementations from the other topic around here So in a very basic application switching between two pages with a page change button on each, when i have just the gfxYield(); and the event switch in the main function, everything works correctly. When i insert a simple delay within the main while loop, occasionally, most frequently with prolonged key presses on the buttons, I will get the button frozen in the pressed state and no further gui response - obviously with no touch input. The gui may return to responsive sometimes after some time, some other times not. the main loop: while (1) { /* USER CODE END WHILE */ // HAL_Delay(50); gfxYield(); // Get an event pe = geventEventWait(&glistener,0); switch (pe->type) { case GEVENT_GWIN_BUTTON: if (((GEventGWinButton*)pe)->gwin == ghButton1) { guiShowPage(1); } if (((GEventGWinButton*)pe)->gwin == ghButton2) { guiShowPage(0); } break; default: break; }
×
×
  • Create New...