Sluggish touch performance in EGUI 3.0?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Sluggish touch performance in EGUI 3.0?

1,626 Views
markwatson
Contributor III

Has anyone else noticed poor touch performance with EGUI 3.0 and MQX 4.1?  We have now tried this on both the Vybrid with CRtouch and on a Kinetis design using the internal A/D resistive touch control code.  In both cases the response to touch is slow and sometimes it misses an event.  I have verified with a scope that the CRtouch is responding immediately to touch events, but the buttons on the D4D screens don't react.  I have FASTTOUCH included in the flags for the buttons.

Thanks,

Mark

0 Kudos
Reply
6 Replies

1,356 Views
LuisCasado
NXP Employee
NXP Employee

Hello Mark,

FASTTOUCH is only to select direct touch in objects instead of focus in the first touch and action in the second object touch.

You have to check the period of the timer interrupt, where the touch is sampled.

Touch is sampled every 50 ms, this is the lwtimer callback every 25 ms.

static void Time_event25ms(void* pUser)

{

  static Byte actual_time = 0;

  TIME_FLAGS t_flags;

  D4D_TimeTickPut();

                             

  /* set the internal time flags */

  actual_time++;

  t_flags.all = (LWord)(actual_time ^ (actual_time - 1));

  time.all |= t_flags.all;

 

  if(t_flags.bits.b50ms)

    D4D_CheckTouchScreen();

 

  if(t_flags.bits.b100ms)

    time100sm_cnt++;                     

}

Check that in your system you effectively have the sampling period of 50 ms.

Regards,

Luis

0 Kudos
Reply

1,356 Views
markwatson
Contributor III

Hellow Luis,

The touch screen is being sample about every 5 mS in the main loop during the D4D periodic task (it isn't really a seperate task).  It really seems that the logic is broken because I can trace through from when a touch occurs all the way to the D4D message being sent to the button object.  The hardware performance is consistent in that it always detects the collision with the button object, but the behavior is erratic.  Sometimes it responds immediately and sometimes you just have to poke at the button or hold it down to get it to respond.  I recently went from EGUI 2.2 to EGUI 3.0 on both a Vybrid and a Kinetis based projects.  Now they both are exhibiting this behavior.

Thanks for taking a look at this.

0 Kudos
Reply

1,356 Views
LuisCasado
NXP Employee
NXP Employee

Hello Mark,

Can you try the PEG demo image?

EG MQX HVAC (REV 1.0)

by FREESCALE
Software offered 'As is', support provided on Freescale Communities only - Example PEG/MQX Application for the TWR-K70F120M + TWR-LCD-RGB.

So, you can test that hardware is ok.

Best Regards,

Luis

0 Kudos
Reply

1,356 Views
markwatson
Contributor III

Hi Luis,

I cannot use the demo because we are running on custom hardware, not the tower system. Is the source code available from the tower that runs the Vybrid demo? That is, the one that uses the RGB display and the CRTouch? Perhaps by digging through that I can find the difference between how it works and how ours works.

Thanks,

Mark

0 Kudos
Reply

1,356 Views
LuisCasado
NXP Employee
NXP Employee

Hi Mark,

Source code is only for licensed PEG products. Would it be ok a binary of PEG running in the TWR-VF600 and TWR-LCD-RGB? What compiler are you using?

I understood you were using TWR system. So coming back to the original question, are you running MQX + eGUI on a custom Vybrid hardware?

Best Regards,

Luis

0 Kudos
Reply

1,356 Views
markwatson
Contributor III

HI Luis,

We are using custom hardware with a lot of similarities to the Tower board, but enough differences that code must be ported. We are using a 2.8” QVGA OLED instead of the much larger LCD used on the RGB board. I am using IAR tools.

Thanks,

Mark

0 Kudos
Reply