In case you didn't know, Gesture and Multi-Touch is not supported.

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

In case you didn't know, Gesture and Multi-Touch is not supported.

1,079 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by briching on Mon Oct 13 16:14:26 MST 2014
Hello,

I am having linking problems with emWin.

I am using emWin 5.24h, and have followed the documentation here:
https://www.segger.com/emwin-multitouch-support-mt.html
(also included in the nxp-link to the pdf doc)

and have created a project that uses the canned demo sample found here:
https://www.segger.com/cms/admin/uploads/userfiles/file/emWin/samples/src/MTOUCH_ScratchAndGestures....

When I compile and build against the emWin libraries, I get the following build errors:
...
./src/MTOUCH_ScratchAndGestures.o: In function `_DoMenu':
C:\git\Embedded\Projects\A43XX\A43XX_example_scratch_and_gestures\Debug/../src/MTOUCH_ScratchAndGestures.c:3496: undefined reference to `WM_GESTURE_Enable'
./src/MTOUCH_ScratchAndGestures.o: In function `_ExecScratchPad':
C:\git\Embedded\Projects\A43XX\A43XX_example_scratch_and_gestures\Debug/../src/MTOUCH_ScratchAndGestures.c:3084: undefined reference to `WM_GESTURE_Enable'
C:\git\Embedded\Projects\A43XX\A43XX_example_scratch_and_gestures\Debug/../src/MTOUCH_ScratchAndGestures.c:3085: undefined reference to `GUI_MTOUCH_Enable'
C:\git\Embedded\Projects\A43XX\A43XX_example_scratch_and_gestures\Debug/../src/MTOUCH_ScratchAndGestures.c:3093: undefined reference to `GUI_MTOUCH_GetEvent'
C:\git\Embedded\Projects\A43XX\A43XX_example_scratch_and_gestures\Debug/../src/MTOUCH_ScratchAndGestures.c:3106: undefined reference to `GUI_MTOUCH_GetTouchInput'
collect2.exe: error: ld returned 1 exit status
make: *** [A43XX_example_scratch_and_gestures.axf] Error 1


I have tried this sample code with both C and C++ projects thinking I could have an extern-C problem going on.  But I get the same errors regardless.  I am able to run the color-bar demo against the emWin library from the same project, and everything builds and links.  Incidently, calls to:

GUI_DispStringInRect, and
GUI_DrawGradientH

work fine.  If you search the object file, you will also find these references there.  So I know my library and include pathing is set up properly. 

UPDATE:
I disassembled the libemWin_M4.a library file (right clicked on it -> Binary Utilities -> Disassemble) and searched the resulting file for the following references:

WM_GESTURE_Enable
GUI_MTOUCH_Enable
GUI_MTOUCH_GetEvent
GUI_MTOUCH_GetTouchInput

None of them are in there.  I believe this means that the object files released in 5.24h do not actually contain any Gesture or Multi-Touch support.

Does anyone have any idea when a new release is slated that will include this functionality?

Am I missing something here?  Thanks in advance to anyone willing to help.

Best regards,

Brad
Labels (1)
0 Kudos
7 Replies

853 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by briching on Sat Oct 18 23:09:49 MST 2014
I see you've updated the site to reflect more clearly what is provided for free.  I'm sure others will appreciate that.

Thank you NXP
0 Kudos

853 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by briching on Fri Oct 17 08:44:38 MST 2014
Part of my frustration is how timely your reply was, NXP.  Thank you for finally stepping in to clarify.

This doesn't change the fact that I still felt misled, as I'm sure others will also if they try to get some of the canned demo examples working quickly. 

Instead of providing a link to all of the examples that Segger has to offer, maybe you could provide a subset of those that are known to work.

At a very minimum, portions of the API that are not supported should be wrapped in #ifdefs, and/or the user manual (Segger) should make it very clear that Multi-touch is an add-on.  Neither of these things were done for Multi-touch.  However, if you look in GUIConf.h, other functionality such as MEMDEV, and DEVICES can be restricted in the API even though they are offered in the NXP license.

Don't you think there outta be a #define GUI_SUPPORT_MTOUCH 0 in this file, and corresponding #ifdefs throughout the emWin_header directory to properly exclude this add-on functionality from the user?
0 Kudos

853 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by bavarian on Fri Oct 17 02:36:17 MST 2014

Well, if I read right the first paragraph on the lpcware page for emWin

[h3]What is the emWin library?[/h3]
The high performance emWin embedded graphics library developed by SEGGER Microcontroller is now offered by NXP Semiconductors in library form for free commercial use with NXP microcontrollers. The software bundle offered by NXP includes the emWin Color basic package, the Window Manager/Widgets module including the GUIBuilder, the Memory Devices module for flicker-free animation, the Antialiasing module for smooth display of curves, lines and fonts, the Font Converter and the VNC Server.


then I don't see Multi-touch included. I wouldn't call this fine print if it's right on top of the page

Second thing with the license condition which is mentioned right in the second paragraph:

"The full license agreement is included in every installer, but there are essentially no limitations on the use of emWin with NXP MCUs."


It doesn't mean that there is "essentially no limitation of emWin", it says that there is "essentially no limitation [u]on the use[/u] of emWin [u]with NXP MCUs[/u]". I'm not a native English, but even for me it would be hard to misread this phrasing.

Third thing about bait and switch offer:

There was no and still is no intention to cheat potential customers with this offer, not on NXP nor on Segger side. However, we can't avoid that people do not see limitations or misunderstand the functionality provided when they decide to use it in combination with our MCUs. Also we can't guarantee that the functionality provided by this emWin package really performs well on our MCUs, as this depends on many parameters on hardware and software side. It's up to a developer to check if it performs good enough in the chosen product environment or not.

Regards,
NXP Support Team
0 Kudos

853 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by briching on Thu Oct 16 21:06:10 MST 2014
It looks as though Multi-touch is one of the only "add-ons" that NXP does not provide with their libraries.  Also, it appears you get so much more than the basic package (from the lpcware emWin page):

[list]
  [*]Window Manager/Widgets module including the GUIBuilder          (2480EUR add-on)
  [*]Memory Devices module for flicker-free animation                         (980EUR add-on)
  [*]Antialiasing module for smooth display of curves, lines and fonts  (2000EUR add-on)
  [*]Font Converter                                                                               (1480EUR add-on)
  [*]VNC Server
[/list]

In fact the ONLY add-on module they don't list in the fine print is Multi-touch.  So, unless you parse the fine print and compare it against emWin's product offering, you will spend several hours pulling your hair out coming up to speed on a new tool that you thought had all the capability you needed, but doesn't.

The headers were not protected by any #ifdef code signifying they were not included. 

I would not be surprised if Segger is using this tactic as part of their licensing to NXP to coerce more sales and business after someone invests a significant development effort on selecting, designing in and configuring a new processor that they cannot justify abandoning.  Their only alternative is to make a purchase of emWin source.

It's all just bait and switch.  And I'm calling them on it.
0 Kudos

853 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by briching on Thu Oct 16 16:22:53 MST 2014
I can see that now.  Thanks.
0 Kudos

853 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by TheFallGuy on Thu Oct 16 14:54:04 MST 2014
Suggest you take a look at the emwin price list. You will see that multi touch and a bunch of other things are an add on to the basic product.
https://www.segger.com/pricelist-emwin.html

Nxp are supplying emwin basic, not all the addons too.
0 Kudos

853 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by briching on Thu Oct 16 14:40:56 MST 2014
I do not understand why it takes NXP_Support so long to reply to this question whey they already know the answer.  I just received a response back from Segger that Gesture and Multitouch is not supported in the free version offered by NXP, despite the claim:

"The full license agreement is included in every installer, but there are essentially no limitations on the use of emWin with NXP MCUs."
here

This is blatantly false, and should be corrected to inform prospective users of actual limitations before they invest hours of troubleshooting trying to get something to work.

As I find other things that aren't supported, I will post them here.

(I changed the thread title so others hopefully can find this information quickly)



0 Kudos