emWin MultiTouch/Gesture question

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • emWin MultiTouch/Gesture question

      Working with multi-touch on a STM32F746 Discovery with the FT5336.

      I have an app that has only been using single touch events up until now. I have implemented code from your examples using _CreateInput, CreateUpInputs, etc. I can see touch events and gesture events coming through but when a single touch UP even is sent, it contains the UP flag and x,y are 0. I do have a control at 0,0 in my windows. Almost all of my buttons and touch events occur on WM_NOTIFICATION_RELEASED. SO , when a finger is lifted up from any button that control at 0,0 is triggered. As far as I can tell, this is how it should work?

      But how would I handle that in my existing code ? Those events appear to be coming through as normal button presses. I am not sure what emWin is looking for in that case so I though I might get a hint or two here.

      When using code from your example TOUCH_FT5306.c , it doesn't create UP events properly. I like this code because it reads the entire FT5336 on each pass, rather than one point at a time. I suspect that means that I am not maintaining the array of events properly.

      I guess the simplest question is.. should I be able to add a functional multitouch system to the code I already have and expect no changes to the single touch system I've already built? No special accommodations until I attempt to use multitouch?

      Solved:

      in the function TOUCH_5306_exec the aPointData and aInput arrays were being overwritten with every call to the function.
      I moved them out of the function and it seems to be working properly.

      POINT_DATA aPointData[MAX_NUM_TOUCHPOINTS];
      GUI_MTOUCH_INPUT aInput[MAX_NUM_TOUCHPOINTS];

      void TOUCH_FT5306_Exec(void)
      {
      GUI_MTOUCH_INPUT *pInput;
      GUI_MTOUCH_EVENT Event;
      // GUI_MTOUCH_INPUT aInput[MAX_NUM_TOUCHPOINTS];
      // POINT_DATA aPointData[MAX_NUM_TOUCHPOINTS];
      .....

      Thank you

      The post was edited 3 times, last by jona ().