Main Site Documentation

How to Receive Gesture Events with Glide


#1

SDK: 4.2
Glide: 1.0.6
Hardware: FEZ Spider
Display: TE35

Hi,

I am trying without success to receive gesture events with a TE35 on a Spider mainboard. Thanks to the code on forums I am able to receive Tap events but for the life of me cannot figure out how to properly setup code for Gestures. My code is below. Can anyone tell me what am I missing? I tried without success to find other code in the Forums and Codeshare.


    public partial class Program
    {
        GHIElectronics.NETMF.Glide.Display.Window _mainWindow;
        GHIElectronics.NETMF.Glide.UI.Image _imgSetup;        
        
        // This method is run when the mainboard is powered up or reset.   
        void ProgramStarted()
        {
            Glide.FitToScreen = true;
            GlideTouch.Initialize();

            display.SimpleGraphics.BackgroundColor = Color.White;

            //Load the Main Windows
            _mainWindow = GlideLoader.LoadWindow(Resources.GetString(Resources.StringResources.mainWindow));
            Glide.MainWindow = _mainWindow;
			
            //***********************
            //TRIED BOTH OF THESE BUT NEITHER WORK
            //***********************			
            _mainWindow.GestureEvent += new OnGesture(MainWindow_GestureEvent);  
            //_mainWindow.GestureEvent += MainWindow_GestureEvent;


            _imgSetup = (GHIElectronics.NETMF.Glide.UI.Image)_mainWindow.GetChildByName("setupImage");
            _imgSetup.Bitmap = new Bitmap(Resources.GetBytes(Resources.BinaryResources.blk_process), Bitmap.BitmapImageType.Jpeg);
            _imgSetup.TapEvent += new OnTap(imgSetup_TapEvent);
            _imgSetup.Invalidate();

        }

        void MainWindow_GestureEvent(object sender, GHIElectronics.NETMF.Glide.TouchGestureEventArgs args)
        {
            Debug.Print("Got gesture");
            display.SimpleGraphics.BackgroundColor = Color.Black;
            display.SimpleGraphics.Clear();

        }
		
        void imgSetup_TapEvent(object sender)
        {
            Debug.Print("Got tap");
        }		
	}


#2

The TE35 does not support gestures?


#3

Mike thanks for the reply.

I suppose that would make sense but where in the documentation do I find what does and does not support gestures? Is the CP7 the only one that supports gestures (based upon what I have seen in the forums)?

Is it [em]possible[/em] for the TE35 to suport gestures (not implemented) or it is a hardware limitation?


#4

since the hw interface to TE35 touch 2x analog input only I think it’s not an hw limitation.
And I’ve seen a demo (don’t know exactly where) where I have seen gestures working with that interface.
To check you could try a simple WPF app with gestures (I think there is also a sample app for that).

My best guess is: It’s broken in Glide, like some other stuff. Just thinking of touch calibration, every time I try it has a different bug :frowning:


#5

Thanks Reinhard, I will look for the sample App and/or demo and give it a try then report back my findings.

Based upon your comment about broken code, do you think it is more common to implement Touch through NETMF or something like Clix from Skewworks rather than Glide?

Also I just noticed that the Glide Documentation references 1.0.7.0 whereas I am using 1.0.6.0.

I downloaded the code from CodePlex and complied it to get 1.0.6.0. However the documentation says to use the one included in the SDK. I will compare versions and see if they are different.

Thanks,
Khalil


#6

Glide is an OpenSource project from GHI.
Clix is commercial product.
This does not make Glide bad, but I assume GHI has other priorities.
So if you have problems with glide you can:
Report it to GHI
Try to fix it yourself,
use something different.
I use Glide for one of my personal projects.
The project is at it’s beginning, but If I run into problems I do as written above, in that order.


#7

Thanks again Reinhard.

Just a quick update.

I noticed in a post a couple of days ago that Glide is now included in the latest 2014 release. So I re-downloaded the Glide code and complied it. And it created 2 dlls. The GHIElectronics.NETMF.Glide.dll at version 1.0.6 and a GHI.Glide.dll at version 1.0.7.

I guess I must have uploaded it before the Jan 29th SDK release…

Anyway I updated all my references for the new 1.0.7 but Gestures still did not work.

I did look at the included examples in the Glide SDK and the only Gesture code I saw was for the CP7. Interestingly enough, I noticed that Gesture code was part of the Display not the main Glide window. Not sure if this means it really is not included for the TE35 or means anything at all. :slight_smile:

Where exactly is the correct place to report issues? Here on the forum as I notice there are no issues in Codeplex…

Finally I did see that Clix is a commercial offering but for $39.99 honestly if I could cut down on my development time, it seems more than reasonable to me.

But in the meantime, I will search the net for a WPF example and hope that someone from GHI can comment as well…


#8

The existing hardware interface I doubt has the ability to do gestures.

I also don’t think that the Clix2 software does it either for the built in touch interface on the processor.

I did find this but it would mean additional hardware.

http://www.analog.com/library/analogdialogue/archives/45-06/gesture_recognition.html

Or this IC which supports it.

http://www.semtech.com/touch-interface/resistive-touch-controllers/


#9

Thanks for the reply Dave. That is a bit more hardware intensive than I can get to at this time but I will keep it for further reference.

To be honest, I am just putting together a demo program for a client and was hoping to use gestures to enhance it. I didnt see anywhere where it wasnt suppose to work for the TE35, I just thought it would.

hFor now, I guess I will have to let gestures wait. But hopefully someone from GHI will comment on this so I can know for sure.

Thanks,
Khalil


#10

The best option maybe is to add an item to the task taker.