Rogue touch events on imxRT1050 EVK board with SDK 2.5.1 and display panel RK043FN02H-CT

cancel
Showing results for 
Search instead for 
Did you mean: 

Rogue touch events on imxRT1050 EVK board with SDK 2.5.1 and display panel RK043FN02H-CT

187 Views
RookieDeveloper
Contributor I

Hi,

I am facing an issue when I run my app on the EVK board. After downloading the application I receive rogue touch events on the TFT. The frequency and position of the touch are quite random.

Below is the polling method that I use to poll the I2C for the touch events:

int TouchDriver_poll(int16_t *x, int16_t *y, int16_t *pressed)
{
    touch_event_t touch_event;
    int touch_x;
    int touch_y;

    if (kStatus_Success != FT5406_RT_GetSingleTouch(&touchHandle, &touch_event, &touch_x, &touch_y))
    {
        return 0;
    }
    else if (touch_event != kTouch_Reserved)
    {
        *x = (int16_t)touch_x;
        *y = (int16_t)touch_y;

        *pressed = ((touch_event == kTouch_Down) || (touch_event == kTouch_Contact));
        return 1;
    }
    return 0;
}
 
I have tried different demo apps on the same target.
What I found strange is that the demo example app using the same SDK and polling method works fine on the same target.
 
Any hints here??
 
 
0 Kudos
3 Replies

174 Views
victorjimenez
NXP TechSupport
NXP TechSupport

Hello, 

Could you please clarify which example of the SDK are you using? I just tested several examples where the touch of the LCD is used and I didn't face any problems. Also, I noticed that you are using an old version of the SDK, I highly recommend you to upgrade it. 

Regards,

Victor 

0 Kudos

167 Views
RookieDeveloper
Contributor I

Hi Victor,

I did not face any issue with the example app. I used the emwin gui demo app.

But I am facing the issue with the app that I am developing.

I compared the touch polling method with that of the emwin app. Its the same as mentioned in the original post. And both use the same SDK 2.5.1 touch driver implementation.

Still I get the rogue touch events in my app and not in the demo app.

I have also checked the clock and I2C init functions. 

The function LPI2C_MasterTransferBlocking(handle->base, &handle->xfer); returns kStatus_success with random touchUp and touchDown events.

 

0 Kudos

144 Views
victorjimenez
NXP TechSupport
NXP TechSupport

Hello, 

How are you initializing the touch in your application? Are you using the drivers that we provide in the SDK for this purpose (fsl_ft5406_rt.c and fsl_ft5406_rt.h)? These drivers include all the functions needed to initialize the touch sensor of the screen and to read the touch data. 

As mentioned in my previous response, I highly recommend you to upgrade your SDK to the newest version available. 

 

Regards, 

Victor 

0 Kudos