Shake

This sample offers an OnShake function using the accelerometer.

OnShake.js
var lastx,lasty,lastz,lastms
function OnStart()
{
  var lay = app.CreateLayout( "Linear", "VCenter,FillXY" );
  var txt = app.CreateText( "Shake test" );
  lay.AddChild( txt );
  app.AddLayout( lay );
 
  var sns = app.CreateSensor( "Accelerometer" );
  sns.SetOnChange( sns_OnChange );
  sns.Start();
}
 
function sns_OnChange( x, y, z, time )
{
  try
  {
     var diffms,speed;
     if(lastx!==undefined)
     {
       diffms=time-lastms;
       speed = Math.abs(x+y+z-lastx-lasty-lastz) / diffms * 10000; 
       if(speed>800) OnShake(speed/800);
     }
     lastx=x;
     lasty=y;
     lastz=z;
     lastms=time;
  }
  catch(e) {}
}
 
function OnShake(speed)
{
   var msg = "Shake\n"+speed.toFixed(2);
   app.ShowPopup(msg,"Short");
}