AnsweredAssumed Answered

Using eGUI screen

Question asked by Gary Lynch on Nov 27, 2019
Latest reply on Dec 4, 2019 by Gary Lynch

I have inherited a design from a long-departed engineer that uses the eGUI/D4D  library to drive a color graphic LCD. It runs on an MK70 processor that uses MQX. Development is on IAR's Embedded Workbench.

 

I am trying to locate the code that puts together a screen before writing it to the display. To simplify things, let's focus on the title bar, which must be filled with an application-specific string.

 

I stopped the debugger in function D4D_RedrawScreenObject(), which is getting ready to dispatch a message to output the new screen. I single-step down to the line before function call:
  D4D_SendMessage(&msg);

 

Structure msg has a member: pScreen, which holds address 0x300FC, which is  visible in the Locals window. It has a member: textBuff, which has a member: pText, which holds 0x300D4.

 

According to a comment in header file d4d_screen.h (the most explicit  documentation I have found so far on this subject), pText should be a pointer to the text string I am looking for. But when I bring up 0x300D4 in the memory window, it contains 4 bytes of 0s.

 

However, when I single step over function call:
  D4D_SendMessage(&msg);

 

the desired text appears in the title bar of my LCD.

 

Does the field get filled later, or am I looking in the wrong place?

 

I have located an eGUI pointer page at:
- https://community.nxp.com/docs/DOC-330064

 

searched the library guide at:
- http://gargy007.github.io/egui_doc/

 

downloaded and parsed the "Freescale Embedded GUI (D4D)" (DRM116), and the PowerPoint  presentation at:
- https://www.nxp.com/docs/en/supporting-information/EGUIPRE.ppt

 

but find no answer to the question above.

 

Advance thanks for your insights.

Outcomes