AnsweredAssumed Answered

Problem With FT5406_GetMultiTouch

Question asked by Tom Spiegel on Feb 23, 2017
Latest reply on Mar 9, 2017 by Tom Spiegel

Starting with a virgin demo_apps/touch_cursor project from a SDK_2.0_LPCXpresso54608 generated for Keil... I get the expected results running under debug. If I remove the USB and plug it in again, the program runs as it did under the debugger. Now if I replace the for(;;) in main() with the following code to use GetMultiTouch function, it runs great under the debugger. The cursor will jump to the last contact point as I apply 1, 2, 3, 4 fingers. But If I remove USB and plug it in again, then the cursor never moves as I touch the panel. If I press target reset on the back of the board, then it works ok.

    for (;;)
    {
        touch_point_t points[FT5406_MAX_TOUCHES];
        if (kStatus_Success == FT5406_GetMultiTouch(&touch_handle, NULL, points))
        {
            for (int i = 0; i != FT5406_MAX_TOUCHES; ++i)
            {
                touch_point_t *p = points + i;
                if (p->TOUCH_EVENT == kTouch_Down)
                    APP_SetCursorPosition(p->TOUCH_Y, p->TOUCH_X);
            }
        }

    }

Outcomes