User Tools

Site Tools


built_in:sensors

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

built_in:sensors [2015/04/18 10:11]
octazid add new method
built_in:sensors [2018/01/03 10:23]
Line 1: Line 1:
-====== Sensors ====== 
  
-//(Information and examples taken from the DroidScript documentation)// 
- 
-===== Description ===== 
-Create Sensor objects using the **CreateSensor** function of the **[[built_in:app|app]]** object: 
-<code>sns = app.CreateSensor( type, options );</code> 
-Types available are:  
-  * **"Accelerometer"** 
-  * **"MagneticField"** 
-  * **"Orientation"** 
-  * **"Light"** 
-  * **"Proximity"** 
- 
-You can use the **SetOnChange** function of the Sensor to set the name of a function you want to be called when a the changes occur. 
- 
-Change the rate that a sensor checks for changes by adding one the options **"Fastest"**, **"Fast"**, **"Medium"** or **"Slow"**. 
-"Slow" is the default. 
- 
- 
-===== Methods ===== 
-Some controls use the same methods.\\ 
-For examples of the **[[same methods]]** look here. 
-^Method ^Description ^ 
-|Sensor.GetAzimuth() | | 
-|Sensor.GetHeight() | | 
-|Sensor.GetPitch() | | 
-|Sensor.GetRoll() | | 
-|Sensor.GetType() | | 
-|Sensor.SetMaxRate( rate ) | default 20ms | 
-|Sensor.SetMinChange( value ) | a value between 0 and 1| 
-|Sensor.SetOnChange( callback ) | | 
-|Sensor.Start() | | 
-|Sensor.Stop() | | 
- 
-===== Examples ===== 
-^Sensor Type ^Code Example ^ 
-|Accelerometer | <code javascript>function OnStart() 
-{ 
-  lay = app.CreateLayout( "Linear", "VCenter,FillXY" ); 
- 
-  txt = app.CreateText( "", 0.8, 0.3, "Multiline" ); 
-  lay.AddChild( txt ); 
-  app.AddLayout( lay ); 
- 
-  sns = app.CreateSensor( "Accelerometer" ); 
-  sns.SetOnChange( sns_OnChange ); 
-  sns.Start(); 
- 
-} 
- 
-function sns_OnChange( x, y, z, time ) 
-{ 
-  txt.SetText( "x="+x + "\n y="+y + "\n z="+z ); 
-</code> | 
-|Orientation | <code javascript>function OnStart() 
-{ 
-  lay = app.CreateLayout( "Linear", "VCenter,FillXY" ); 
- 
-  txt = app.CreateText( "", 0.8, 0.3, "Multiline" ); 
-  lay.AddChild( txt ); 
-  app.AddLayout( lay ); 
- 
-  sns = app.CreateSensor( "Orientation" ); 
-  sns.SetOnChange( sns_OnChange ); 
-  sns.Start(); 
- 
-} 
- 
-function sns_OnChange( azimuth, pitch, roll, time ) 
-{ 
-  var msg = " azimuth = " + azimuth.toFixed(1); 
-  msg += "\n pitch = " + pitch.toFixed(1); 
-  msg += "\n roll = " + roll.toFixed(1); 
-  txt.SetText( msg ); 
-} 
-</code> | 
-|Light | <code javascript>function OnStart() 
-{ 
-  lay = app.CreateLayout( "Linear", "VCenter,FillXY" ); 
- 
-  txt = app.CreateText( "", 0.8, 0.3 ); 
-  lay.AddChild( txt ); 
-  app.AddLayout( lay ); 
- 
-  sns = app.CreateSensor( "Light" ); 
-  sns.SetOnChange( sns_OnChange ); 
-  sns.Start(); 
- 
-} 
- 
-function sns_OnChange( lux ) 
-{ 
-  txt.SetText( "level = " + lux + " lux" ); 
-} 
- 
-</code> | 
built_in/sensors.txt ยท Last modified: 2018/01/03 10:23 (external edit)