Sluggish touch performance in EGUI 3.0?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Sluggish touch performance in EGUI 3.0?

928件の閲覧回数
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 件の賞賛
6 返答(返信)

658件の閲覧回数
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 件の賞賛

658件の閲覧回数
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 件の賞賛

658件の閲覧回数
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 件の賞賛

658件の閲覧回数
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 件の賞賛

658件の閲覧回数
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 件の賞賛

658件の閲覧回数
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 件の賞賛