Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Init GUI */
- GUI_Init();
- /* Create graph through all LCD screen */
- hGraph = GRAPH_CreateEx(0, 0, 320, 240, 0, WM_CF_SHOW, 0, GUI_ID_GRAPH0);
- /* Set grids and border */
- GRAPH_SetGridVis(hGraph, 1);
- GRAPH_SetBorder(hGraph, 25, 5, 5, 5);
- /* Create a curve for graph */
- hData = GRAPH_DATA_YT_Create(GUI_DARKGREEN, 500, 0, 20);
- /* Attach curve to graph */
- GRAPH_AttachData(hGraph, hData);
- /* Create scale for graph */
- hScale = GRAPH_SCALE_Create(3, GUI_TA_LEFT, GRAPH_SCALE_CF_VERTICAL, 25);
- /* Attach it to graph */
- GRAPH_AttachScale(hGraph, hScale);
- /* Update EMWIN GUI = do pending tasks */
- /* This works, function returns non-zero, because it has some job to do */
- /* And it is called first time in this project */
- GUI_Exec();
- /* Add manual data for testing if graph works */
- GRAPH_DATA_YT_AddValue(hData, 100 + 60 * sin((float)2 * (float)5 * (float)3.14 * (float)15 / (float)255));
- GRAPH_DATA_YT_AddValue(hData, 100 + 60 * sin((float)2 * (float)5 * (float)3.14 * (float)15 / (float)255));
- GRAPH_DATA_YT_AddValue(hData, 100 + 60 * sin((float)2 * (float)5 * (float)3.14 * (float)15 / (float)255));
- GRAPH_DATA_YT_AddValue(hData, 100 + 60 * sin((float)2 * (float)5 * (float)3.14 * (float)15 / (float)255));
- GRAPH_DATA_YT_AddValue(hData, 100 + 60 * sin((float)2 * (float)5 * (float)3.14 * (float)15 / (float)255));
- GRAPH_DATA_YT_AddValue(hData, 100 + 60 * sin((float)2 * (float)5 * (float)3.14 * (float)15 / (float)255));
- /* Change layers for LTDC, show layer 2 on LCD */
- TM_ILI9341_ChangeLayers();
- while (1) {
- /* Here is my problem */
- /* Check for pending tasks */
- /* Here is function called second time and it does all pending jobs successfully */
- /* Writes 6 points to graph as set some lines above */
- /* But it does not return non-zero value anymore, it always returns zero value meaning no job to do anymore */
- if (GUI_Exec() > 0) {
- /* Toggle LED, confirm that GUI_Exec returns non-zero value */
- /* This never happens, LEDs are always zero */
- TM_DISCO_LedToggle(LED_ALL);
- /* Do some job if windows are updated */
- /* Copy layer 1 (EMWIN drawing layer) to user-visible layer 2 to avoid flickering when fast updating graphs */
- TM_ILI9341_Layer1To2();
- }
- /* Every 100 ms add new value to graph */
- if (TM_DELAY_Time() > 100) {
- /* Reset time */
- TM_DELAY_SetTime(0);
- /* Add new fake values to graph */
- GRAPH_DATA_YT_AddValue(hData, 100 + 60 * sin((float)2 * (float)5 * (float)3.14 * (float)15 / (float)255));
- GRAPH_DATA_YT_AddValue(hData, 100);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement