[Sensor] add batchLatency parameter
authorLukasz Bardeli <l.bardeli@samsung.com>
Mon, 27 Jun 2016 09:30:09 +0000 (11:30 +0200)
committerLukasz Bardeli <l.bardeli@samsung.com>
Mon, 27 Jun 2016 09:30:09 +0000 (11:30 +0200)
Change-Id: Idf64762fc4cd9fda19c4125ee6373f1d8cbc4620
Signed-off-by: Lukasz Bardeli <l.bardeli@samsung.com>
org.tizen.tutorials/html/web/tizen/system/sensor_tutorial_w.htm
org.tizen.web.apireference/html/device_api/mobile/tizen/sensor.html
org.tizen.web.apireference/html/device_api/wearable/tizen/sensor.html

index 2ff4b56..3ca5792 100644 (file)
@@ -140,10 +140,11 @@ function onchangedCB(sensorData)
 <p>To register a  change listener, use the <span style="font-family: Courier New,Courier,monospace">setChangeListener()</span> method of the <span style="font-family: Courier New,Courier,monospace">Sensor</span> interface (in <a href="../../../../../org.tizen.web.apireference/html/device_api/mobile/tizen/sensor.html#Sensor">mobile</a> and <a href="../../../../../org.tizen.web.apireference/html/device_api/wearable/tizen/sensor.html#Sensor">wearable</a> applications).</p>
 
 
-<p>This command requires 2 parameters:</p>
+<p>This command requires 3 parameters:</p>
 <ul>
 <li>The first one is a handle to the callback method, which is invoked for every incoming event.</li>
 <li>The second determines the amount of time (in milliseconds) passing between 2 consecutive events. Valid values are integers from 10 to 1000, inclusively. For example, the value 100 results in approximately 10 events being send every second.</li>
+<li>The third determines batch latency time in milliseconds (ms) at which sensor events are stored or delivered when processor stay on sleep or suspend status. ou can calculate maximum batchLatency value using maxBatchCount (e.g. interval x maxBatchCount) . If maxBatchCount is zero, device doesn't support batch latency time.</li>
 </ul>
 
 <pre class="prettyprint">
@@ -159,11 +160,11 @@ function onchangedCB(sensorData)
 &nbsp;&nbsp;&nbsp;console.log(&quot;Light sensor data: &quot; + sensorData.lightLevel);
 }
 
-lightSensor.setChangeListener(onchangedCB, 500);
+lightSensor.setChangeListener(onchangedCB, 500, 2000);
 lightSensor.start(onsuccessCB);
 </pre>
 
-<p>The default value of the second parameter is 100. If you do not pass a value, the default is used:</p>
+<p>The default value of the second parameter is 100, for third parameter is 0 . If you do not pass a value, the default is used:</p>
 <pre class="prettyprint">
 var lightSensor = tizen.sensorservice.getDefaultSensor(&quot;LIGHT&quot;);
 
index 99e11e5..2faaaf2 100644 (file)
@@ -91,7 +91,11 @@ For more information about how to use Sensor API, see <a href="https://developer
 </li>
 <li>2.22. <a href="#SensorGyroscopeRotationVectorData">SensorGyroscopeRotationVectorData</a>
 </li>
-<li>2.23. <a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a>
+<li>2.23. <a href="#SensorHardwareInfo">SensorHardwareInfo</a>
+</li>
+<li>2.24. <a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a>
+</li>
+<li>2.25. <a href="#SensorHardwareInfoSuccessCallback">SensorHardwareInfoSuccessCallback</a>
 </li>
 </ul>
 </li>
@@ -126,8 +130,9 @@ For more information about how to use Sensor API, see <a href="https://developer
 <td>
 <div>void <a href="#Sensor::start">start</a> (<a href="tizen.html#SuccessCallback">SuccessCallback</a> successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback)</div>
 <div>void <a href="#Sensor::stop">stop</a> ()</div>
-<div>void <a href="#Sensor::setChangeListener">setChangeListener</a> (<a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a> successCallback, optional long? interval)</div>
+<div>void <a href="#Sensor::setChangeListener">setChangeListener</a> (<a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a> successCallback, optional long? interval, optional long batchLatency)</div>
 <div>void <a href="#Sensor::unsetChangeListener">unsetChangeListener</a> ()</div>
+<div>void <a href="#Sensor::getSensorHardwareInfo">getSensorHardwareInfo</a> (<a href="#SensorHardwareInfoSuccessCallback">SensorHardwareInfoSuccessCallback</a> successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback)</div>
 </td>
 </tr>
 <tr>
@@ -207,9 +212,17 @@ For more information about how to use Sensor API, see <a href="https://developer
 <td></td>
 </tr>
 <tr>
+<td><a href="#SensorHardwareInfo">SensorHardwareInfo</a></td>
+<td></td>
+</tr>
+<tr>
 <td><a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a></td>
 <td><div>void <a href="#SensorDataSuccessCallback::onsuccess">onsuccess</a> (optional <a href="#SensorData">SensorData</a>? sensorData)</div></td>
 </tr>
+<tr>
+<td><a href="#SensorHardwareInfoSuccessCallback">SensorHardwareInfoSuccessCallback</a></td>
+<td><div>void <a href="#SensorHardwareInfoSuccessCallback::onsuccess">onsuccess</a> (<a href="#SensorHardwareInfo">SensorHardwareInfo</a> hardwareInfo)</div></td>
+</tr>
 </tbody>
 </table>
 <div class="typedefs" id="typedefs-section">
@@ -353,24 +366,19 @@ The supported sensor types are hardware-dependent. <br><br>To check if the given
  GYROSCOPE_ROTATION_VECTOR - tizen.systeminfo.getCapability(<em>"http://tizen.org/feature/sensor.gyroscope_rotation_vector"</em>)               </li>
             </ul>
            </div>
-<p><span class="privilegelevel">
-            Privilege level: </span>
- public
-            </p>
-<p><span class="privilege">
-            Privilege: </span>
- http://tizen.org/privilege/healthinfo
-            </p>
-<p><span class="remark"> Remark : </span>
- <b>http://tizen.org/privilege/healthinfo</b> is required only for <a href="#SensorType">HRM_RAW </a> type. <em>HRM_RAW</em> is supported since Tizen 2.3.1.
-            </p>
+<div class="description">
+           </div>
 <div class="parameters">
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">type</span>: 
+<span class="name">type</span>:
  Sensor type to access
-                </li>
+                <ul>
+<b>Conditional privilege: </b>For using <a href="#SensorType">HRM_RAW</a> value, privilege <b>
+              http://tizen.org/privilege/healthinfo
+             (public level)</b> is needed since Tizen 2.3.1.</ul>
+</li>
         </ul>
 </div>
 <div class="returntype">
@@ -456,9 +464,11 @@ The supported sensor types are hardware-dependent. <br><br>To check if the given
 
         void stop() raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-        void setChangeListener(<a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a> successCallback, optional long? interval) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void setChangeListener(<a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a> successCallback, optional long? interval, optional long batchLatency) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
         void unsetChangeListener() raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+
+         void getSensorHardwareInfo(<a href="#SensorHardwareInfoSuccessCallback">SensorHardwareInfoSuccessCallback</a> successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
     };</pre>
 <p><span class="version">
             Since: </span>
@@ -497,11 +507,11 @@ The supported sensor types are hardware-dependent. <br><br>To check if the given
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when sensor has been successfully started
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -568,7 +578,7 @@ The supported sensor types are hardware-dependent. <br><br>To check if the given
 <div class="brief">
  Registers a listener to retrieve sensor data periodically.
             </div>
-<div class="synopsis"><pre class="signature prettyprint">void setChangeListener(<a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a> successCallback, optional long? interval);
+<div class="synopsis"><pre class="signature prettyprint">void setChangeListener(<a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a> successCallback, optional long? interval, optional long batchLatency);
              </pre></div>
 <p><span class="version">
             Since: </span>
@@ -581,7 +591,7 @@ The start() method must be called to turn on the sensor, or the sensor data will
             </p>
            </div>
 <p><span class="remark"> Remark : </span>
- <em>interval</em> is supported since Tizen 3.0
+ <em>interval</em>, <em>batchLatency</em> are supported since Tizen 3.0
             </p>
 <p><span class="remark"> Remark : </span>
  The specified interval is only a suggested interval between sensor measurements. You will get at least one sensor measurement within the interval you specify, but the actual interval between sensor measurements can be affected by other applications and the system. To reduce the system overhead, it is recommended to set the longest interval that you can, because the system usually chooses the shortest interval among all intervals specified.
@@ -590,13 +600,17 @@ The start() method must be called to turn on the sensor, or the sensor data will
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked periodically.
                 </li>
           <li class="param">
-<span class="name">interval</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">interval</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  The interval in milliseconds (ms) at which sensor data will be sent to the Web Application which calls this method since Tizen 3.0<br><em>interval</em> can be between 10ms and 1000ms inclusive, however, if it is null or zero, it is set to the default value of 100ms.<br>For the <a href="#SensorType">PROXIMITY</a> sensor type, <em>interval</em> will be ignored.
                 </li>
+          <li class="param">
+<span class="name">batchLatency</span><span class="optional"> [optional]</span>:
+ The batch latency time in milliseconds (ms) at which sensor events are stored or delivered when processor stay on sleep or suspend status since Tizen 3.0<br><em>batchLatency</em> has hardware dependency. You can calculate maximum batchLatency value using  <a href="#SensorHardwareInfo">maxBatchCount</a> (e.g. interval x maxBatchCount) . If maxBatchCount is zero, device doesn't support batch latency time.
+                </li>
         </ul>
 </div>
 <div class="exceptionlist">
@@ -609,26 +623,29 @@ The start() method must be called to turn on the sensor, or the sensor data will
  with error type UnknownError, if registering the listener fails because of an unknown error.
                 </p></li>
 <li class="list"><p>
+ with error type NotSupportedError, if the batchLatency is not supported on the sensor hardware.
+                </p></li>
+<li class="list"><p>
  with error type InvalidValuesError, if any of the input parameters contain an invalid value.
                 </p></li>
 </ul>
 </li></ul>
         </div>
 <div class="example">
-<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint"> var proximitySensor = tizen.sensorservice.getDefaultSensor("PROXIMITY");
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint"> var lightSensor = tizen.sensorservice.getDefaultSensor("LIGHT");
 
  function onsuccessCB() {
-     console.log("proximity sensor start");
+     console.log("light sensor start");
  }
 
  function onchangedCB(sensorData) {
-     console.log("proximity distance : " + sensorData.proximityState);
+     console.log("light level: " + sensorData.lightLevel);
  }
 
- // interval can be ommitted.
proximitySensor.setChangeListener(onchangedCB, 200);
+ // interval and batchLatency can be ommitted.
lightSensor.setChangeListener(onchangedCB, 200, 2000);
 
proximitySensor.start(onsuccessCB);
lightSensor.start(onsuccessCB);
  </pre>
 </div>
 </dd>
@@ -665,6 +682,78 @@ The start() method must be called to turn on the sensor, or the sensor data will
  </pre>
 </div>
 </dd>
+<dt class="method" id="Sensor::getSensorHardwareInfo">
+<a class="backward-compatibility-anchor" name="::Sensor::Sensor::getSensorHardwareInfo"></a><code><b><span class="methodName">getSensorHardwareInfo</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Gets hardware information of the sensor.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void getSensorHardwareInfo(<a href="#SensorHardwareInfoSuccessCallback">SensorHardwareInfoSuccessCallback</a> successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+<div class="description">
+            <p>
+The <em>ErrorCallback</em> method is launched with these error types:
+            </p>
+            <ul>
+              <li>
+AbortError - If operation failed.              </li>
+              <li>
+IOError - If the platform fails to internally prepare a socket for IPC communication.              </li>
+            </ul>
+           </div>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">successCallback</span>:
+ Callback method to be invoked when sensor has been successfully gotten hardware information.
+                </li>
+          <li class="param">
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ Callback method to be invoked when an error occurs.
+                </li>
+        </ul>
+</div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+          <ul class="exception"><li>WebAPIException<ul><li class="list"><p>
+ with error type TypeMismatchError, if any input parameter is not compatible with the expected type for that parameter.
+                </p></li></ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint"> var gravitySensor = tizen.sensorservice.getDefaultSensor("GRAVITY");
+ gravitySensor.getSensorHardwareInfo(onsuccessCB);
+
+ function onsuccessCB(hardwareInfo){
+     console.log("name: " + hardwareInfo.name);
+     console.log("type: " + hardwareInfo.type);
+     console.log("vendor: " + hardwareInfo.vendor);
+     console.log("minValue: " + hardwareInfo.minValue);
+     console.log("maxValue: " + hardwareInfo.maxValue);
+     console.log("resolution: " + hardwareInfo.resolution);
+     console.log("minInterval: " + hardwareInfo.minInterval);
+     console.log("maxBatchCount: " + hardwareInfo.maxBatchCount);
+ }
+ </pre>
+</div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre>  name: Gravity Sensor
+  type: GRAVITY
+  vendor: Samsung Electronics
+  minValue: -19.6
+  maxValue: 19.6
+  resolution: 0.01
+  minInterval: 1
+  maxBatchCount: 0
+ </pre>
+</div>
+</dd>
 </dl>
 </div>
 </div>
@@ -682,7 +771,7 @@ The start() method must be called to turn on the sensor, or the sensor data will
             Since: </span>
  2.3
           </p>
-        
+
       <div class="methods">
 <h4>Methods</h4>
 <dl>
@@ -717,11 +806,11 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when the sensor data has been read
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -771,7 +860,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
             Since: </span>
  2.3
           </p>
-        
+
       <div class="methods">
 <h4>Methods</h4>
 <dl>
@@ -806,11 +895,11 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when the sensor data has been read
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -862,7 +951,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
             Since: </span>
  2.3
           </p>
-        
+
       <div class="methods">
 <h4>Methods</h4>
 <dl>
@@ -897,11 +986,11 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when the sensor data has been read
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -951,7 +1040,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
             Since: </span>
  2.3
           </p>
-        
+
       <div class="methods">
 <h4>Methods</h4>
 <dl>
@@ -986,11 +1075,11 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when the sensor data has been read
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -1040,7 +1129,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
             Since: </span>
  2.3
           </p>
-        
+
       <div class="methods">
 <h4>Methods</h4>
 <dl>
@@ -1075,11 +1164,11 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when the sensor data has been read
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -1129,7 +1218,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
             Since: </span>
  2.3.1
           </p>
-        
+
       <div class="methods">
 <h4>Methods</h4>
 <dl>
@@ -1172,11 +1261,11 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when the sensor data has been read
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -1234,7 +1323,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
             Since: </span>
  3.0
           </p>
-        
+
       <div class="methods">
 <h4>Methods</h4>
 <dl>
@@ -1269,11 +1358,11 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when the sensor data has been read
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -1307,6 +1396,14 @@ The <em>ErrorCallback</em> method is launched with these error types:
  gravitySensor.start(onsuccessCB);
  </pre>
 </div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> sensor start
+ ######## Get the gravity sensor data ########
+ x: -0.477486
+ y: -0.132515
+ z: -9.794124
+ </pre>
+</div>
 </dd>
 </dl>
 </div>
@@ -1325,7 +1422,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
             Since: </span>
  3.0
           </p>
-        
+
       <div class="methods">
 <h4>Methods</h4>
 <dl>
@@ -1360,11 +1457,11 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when the sensor data has been read
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -1398,6 +1495,14 @@ The <em>ErrorCallback</em> method is launched with these error types:
  gyroscopeSensor.start(onsuccessCB);
  </pre>
 </div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> sensor start
+ ######## Get the gyroscope sensor data ########
+ x: 186
+ y: -296
+ z: -113
+ </pre>
+</div>
 </dd>
 </dl>
 </div>
@@ -1416,7 +1521,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
             Since: </span>
  3.0
           </p>
-        
+
       <div class="methods">
 <h4>Methods</h4>
 <dl>
@@ -1451,11 +1556,11 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when the sensor data has been read
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -1490,6 +1595,15 @@ The <em>ErrorCallback</em> method is launched with these error types:
  gyroscopeRotationVectorSensor.start(onsuccessCB);
  </pre>
 </div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> sensor start
+ ######## Get the gyroscope rotation vector sensor data ########
+ x: 0
+ y: 0
+ z: 0
+ w: 0
+ </pre>
+</div>
 </dd>
 </dl>
 </div>
@@ -1519,7 +1633,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
             Since: </span>
  2.3
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul><li class="attribute" id="SensorLightData::lightLevel">
@@ -1553,7 +1667,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
             Since: </span>
  2.3
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul>
@@ -1618,7 +1732,7 @@ For increasing the accuracy, wave the device around in the air in figure-eight p
             Since: </span>
  2.3
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul><li class="attribute" id="SensorPressureData::pressure">
@@ -1646,7 +1760,7 @@ For increasing the accuracy, wave the device around in the air in figure-eight p
             Since: </span>
  2.3
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul><li class="attribute" id="SensorProximityData::proximityState">
@@ -1674,7 +1788,7 @@ For increasing the accuracy, wave the device around in the air in figure-eight p
             Since: </span>
  2.3
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul><li class="attribute" id="SensorUltravioletData::ultravioletLevel">
@@ -1709,7 +1823,7 @@ The ultraviolet index is an international standard measurement of the strength o
             Since: </span>
  2.3.1
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul>
@@ -1769,7 +1883,7 @@ LED_GREEN - The green light spectrum              </li>
 <p><span class="remark"> Remark : </span>
  An example of how to access and use this interface can be found in the <a href="sensor.html#GravitySensor::getGravitySensorData">getGravitySensorData()</a> code example.
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul>
@@ -1826,7 +1940,7 @@ LED_GREEN - The green light spectrum              </li>
 <p><span class="remark"> Remark : </span>
  An example of how to access and use this interface can be found in the <a href="sensor.html#GyroscopeSensor::getGyroscopeSensorData">getGyroscopeSensorData()</a> code example.
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul>
@@ -1891,7 +2005,7 @@ It is equal to the components of a unit quaternion (cos(θ/2), x * sin(θ/2), y
 <p><span class="remark"> Remark : </span>
  An example of how to access and use this interface can be found in the <a href="sensor.html#GyroscopeRotationVectorSensor::getGyroscopeRotationVectorSensorData">getGyroscopeRotationVectorSensorData()</a> code example.
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul>
@@ -1938,8 +2052,192 @@ It is equal to the components of a unit quaternion (cos(θ/2), x * sin(θ/2), y
 </ul>
 </div>
 </div>
+<div class="interface" id="SensorHardwareInfo">
+<a class="backward-compatibility-anchor" name="::Sensor::SensorHardwareInfo"></a><h3>2.23. SensorHardwareInfo</h3>
+<div class="brief">
+ The SensorHardwareInfo interface represents information about the sensor requested by the <a href="sensor.html#Sensor::getSensorHardwareInfo">getSensorHardwareInfo</a> method
+          </div>
+<pre class="webidl prettyprint">    [NoInterfaceObject] interface SensorHardwareInfo {
+
+        readonly attribute DOMString name;
+
+        readonly attribute <a href="#SensorType">SensorType</a> type;
+
+        readonly attribute DOMString vendor;
+
+        readonly attribute double minValue;
+
+        readonly attribute double maxValue;
+
+        readonly attribute double resolution;
+
+        readonly attribute long minInterval;
+
+        readonly attribute long maxBatchCount;
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 3.0
+          </p>
+<p><span class="remark"> Remark : </span>
+ This interface returns hardware information provided by the sensor manufacture.
+          </p>
+<div class="attributes">
+<h4>Attributes</h4>
+<ul>
+<li class="attribute" id="SensorHardwareInfo::name">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">DOMString </span><span class="name">name</span></span><div class="brief">
+ Name of the sensor.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li>
+<li class="attribute" id="SensorHardwareInfo::type">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">SensorType </span><span class="name">type</span></span><div class="brief">
+ <a href="sensor.html#SensorType">Type of the sensor</a>.<br>            </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li>
+<li class="attribute" id="SensorHardwareInfo::vendor">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">DOMString </span><span class="name">vendor</span></span><div class="brief">
+ Vendor of the sensor.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li>
+<li class="attribute" id="SensorHardwareInfo::minValue">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">minValue</span></span><div class="brief">
+ Minimum reading value that can be received from the sensor.<br><br>The units for the minimum value depends on the sensor type:<br>            </div>
+<div class="description">
+            <ul>
+              <li>
+LIGHT - lux              </li>
+              <li>
+MAGNETIC - μT (micro Tesla)              </li>
+              <li>
+PRESSURE - hPa (hectopascal)              </li>
+              <li>
+PROXIMITY - None              </li>
+              <li>
+ULTRAVIOLET - UV index (ultraviolet index)              </li>
+              <li>
+HRM_RAW - None              </li>
+              <li>
+GRAVITY - m/s<sup>2</sup> (meters per second squared)              </li>
+              <li>
+GYROSCOPE - °/s (Degrees/s)              </li>
+              <li>
+GYROSCOPE_ROTATION_VECTOR - None              </li>
+            </ul>
+            <p>
+For more information about sensor, see <a href="https://developer.tizen.org/dev-guide/latest/org.tizen.guides/html/native/system/sensors_n.htm">Sensor Guide</a>.
+            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li>
+<li class="attribute" id="SensorHardwareInfo::maxValue">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">maxValue</span></span><div class="brief">
+ Maximum reading value that can be received from the sensor.<br><br>The units for the maximum value depends on the sensor type:<br>            </div>
+<div class="description">
+            <ul>
+              <li>
+LIGHT - lux              </li>
+              <li>
+MAGNETIC - μT (micro Tesla)              </li>
+              <li>
+PRESSURE - hPa (hectopascal)              </li>
+              <li>
+PROXIMITY - None              </li>
+              <li>
+ULTRAVIOLET - UV index (ultraviolet index)              </li>
+              <li>
+HRM_RAW - None              </li>
+              <li>
+GRAVITY - m/s<sup>2</sup> (meters per second squared)              </li>
+              <li>
+GYROSCOPE - °/s (Degrees/s)              </li>
+              <li>
+GYROSCOPE_ROTATION_VECTOR - None              </li>
+            </ul>
+            <p>
+For more information about sensor, see <a href="https://developer.tizen.org/dev-guide/latest/org.tizen.guides/html/native/system/sensors_n.htm">Sensor Guide</a>.
+            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li>
+<li class="attribute" id="SensorHardwareInfo::resolution">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">resolution</span></span><div class="brief">
+ The smallest change which the sensor can detect.<br><br>The units of the resolution depends on the sensor type:<br>            </div>
+<div class="description">
+            <ul>
+              <li>
+LIGHT - lux              </li>
+              <li>
+MAGNETIC - μT (micro Tesla)              </li>
+              <li>
+PRESSURE - hPa (hectopascal)              </li>
+              <li>
+PROXIMITY - None              </li>
+              <li>
+ULTRAVIOLET - UV index (ultraviolet index)              </li>
+              <li>
+HRM_RAW - None              </li>
+              <li>
+GRAVITY - m/s<sup>2</sup> (meters per second squared)              </li>
+              <li>
+GYROSCOPE - °/s (Degrees/s)              </li>
+              <li>
+GYROSCOPE_ROTATION_VECTOR - None              </li>
+            </ul>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li>
+<li class="attribute" id="SensorHardwareInfo::minInterval">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">long </span><span class="name">minInterval</span></span><div class="brief">
+ Minimum interval of the sensor which means a period between two events.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li>
+<li class="attribute" id="SensorHardwareInfo::maxBatchCount">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">long </span><span class="name">maxBatchCount</span></span><div class="brief">
+ Maximum batch count of sensor, batch means storing a sensors event in a hardware FIFO register when processor stay on sleep or suspend status.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+</li>
+</ul>
+</div>
+</div>
 <div class="interface" id="SensorDataSuccessCallback">
-<a class="backward-compatibility-anchor" name="::Sensor::SensorDataSuccessCallback"></a><h3>2.23. SensorDataSuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Sensor::SensorDataSuccessCallback"></a><h3>2.24. SensorDataSuccessCallback</h3>
 <div class="brief">
  The SensorDataSuccessCallback interface is a callback interface that is invoked periodically. For example, see the Sensor interface.
           </div>
@@ -1970,7 +2268,7 @@ It is equal to the components of a unit quaternion (cos(θ/2), x * sin(θ/2), y
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">sensorData</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">sensorData</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Current sensor data
                 </li>
         </ul>
@@ -1979,6 +2277,47 @@ It is equal to the components of a unit quaternion (cos(θ/2), x * sin(θ/2), y
 </dl>
 </div>
 </div>
+<div class="interface" id="SensorHardwareInfoSuccessCallback">
+<a class="backward-compatibility-anchor" name="::Sensor::SensorHardwareInfoSuccessCallback"></a><h3>2.25. SensorHardwareInfoSuccessCallback</h3>
+<div class="brief">
+ The SensorHardwareInfoSuccessCallback callback interface specifies a success callback with SensorHardwareInfo object as an input argument.
+          </div>
+<pre class="webidl prettyprint">    [Callback=FunctionOnly, NoInterfaceObject] interface SensorHardwareInfoSuccessCallback{
+        void onsuccess(<a href="#SensorHardwareInfo">SensorHardwareInfo</a> hardwareInfo);
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 3.0
+          </p>
+<div class="methods">
+<h4>Methods</h4>
+<dl>
+<dt class="method" id="SensorHardwareInfoSuccessCallback::onsuccess">
+<a class="backward-compatibility-anchor" name="::Sensor::SensorHardwareInfoSuccessCallback::onsuccess"></a><code><b><span class="methodName">onsuccess</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Called when sensor hardware infomation is successfully retrieved.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void onsuccess(<a href="#SensorHardwareInfo">SensorHardwareInfo</a> hardwareInfo);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 3.0
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">hardwareInfo</span>:
+ Current sensor Hardware Info
+                </li>
+        </ul>
+</div>
+</dd>
+</dl>
+</div>
+</div>
 </div>
 <h2 id="api-features">3. Related Feature</h2>
 <div id="def-api-features" class="def-api-features">
@@ -2089,9 +2428,11 @@ To guarantee that the gyroscope rotation vector sensor application runs on a dev
 
         void stop() raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-        void setChangeListener(<a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a> successCallback, optional long? interval) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void setChangeListener(<a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a> successCallback, optional long? interval, optional long batchLatency) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
         void unsetChangeListener() raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+
+        void getSensorHardwareInfo(SensorHardwareInfoSuccessCallback successCallback, optional ErrorCallback? errorCallback) raises(WebAPIException);
     };
 
     [NoInterfaceObject] interface LightSensor : <a href="#Sensor">Sensor</a> {
@@ -2218,6 +2559,25 @@ To guarantee that the gyroscope rotation vector sensor application runs on a dev
         readonly attribute double w;
     };
 
+    [NoInterfaceObject] interface SensorHardwareInfo {
+
+        readonly attribute DOMString name;
+
+        readonly attribute SensorType type;
+
+        readonly attribute DOMString vendor;
+
+        readonly attribute double minValue;
+
+        readonly attribute double maxValue;
+
+        readonly attribute double resolution;
+
+        readonly attribute long minInterval;
+
+        readonly attribute long maxBatchCount;
+    };
+
     [Callback=FunctionOnly, NoInterfaceObject] interface SensorDataSuccessCallback {
         void onsuccess(optional <a href="#SensorData">SensorData</a>? sensorData);
     };
index 6292772..7d448c2 100644 (file)
@@ -91,7 +91,11 @@ For more information about how to use Sensor API, see <a href="https://developer
 </li>
 <li>2.22. <a href="#SensorGyroscopeRotationVectorData">SensorGyroscopeRotationVectorData</a>
 </li>
-<li>2.23. <a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a>
+<li>2.23. <a href="#SensorHardwareInfo">SensorHardwareInfo</a>
+</li>
+<li>2.24. <a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a>
+</li>
+<li>2.25. <a href="#SensorHardwareInfoSuccessCallback">SensorHardwareInfoSuccessCallback</a>
 </li>
 </ul>
 </li>
@@ -126,8 +130,9 @@ For more information about how to use Sensor API, see <a href="https://developer
 <td>
 <div>void <a href="#Sensor::start">start</a> (<a href="tizen.html#SuccessCallback">SuccessCallback</a> successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback)</div>
 <div>void <a href="#Sensor::stop">stop</a> ()</div>
-<div>void <a href="#Sensor::setChangeListener">setChangeListener</a> (<a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a> successCallback, optional long? interval)</div>
+<div>void <a href="#Sensor::setChangeListener">setChangeListener</a> (<a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a> successCallback, optional long? interval, optional long batchLatency)</div>
 <div>void <a href="#Sensor::unsetChangeListener">unsetChangeListener</a> ()</div>
+<div>void <a href="#Sensor::getSensorHardwareInfo">getSensorHardwareInfo</a> (<a href="#SensorHardwareInfoSuccessCallback">SensorHardwareInfoSuccessCallback</a> successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback)</div>
 </td>
 </tr>
 <tr>
@@ -207,9 +212,17 @@ For more information about how to use Sensor API, see <a href="https://developer
 <td></td>
 </tr>
 <tr>
+<td><a href="#SensorHardwareInfo">SensorHardwareInfo</a></td>
+<td></td>
+</tr>
+<tr>
 <td><a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a></td>
 <td><div>void <a href="#SensorDataSuccessCallback::onsuccess">onsuccess</a> (optional <a href="#SensorData">SensorData</a>? sensorData)</div></td>
 </tr>
+<tr>
+<td><a href="#SensorHardwareInfoSuccessCallback">SensorHardwareInfoSuccessCallback</a></td>
+<td><div>void <a href="#SensorHardwareInfoSuccessCallback::onsuccess">onsuccess</a> (<a href="#SensorHardwareInfo">SensorHardwareInfo</a> hardwareInfo)</div></td>
+</tr>
 </tbody>
 </table>
 <div class="typedefs" id="typedefs-section">
@@ -253,7 +266,7 @@ GYROSCOPE_ROTATION_VECTOR - Gyroscope rotation vector sensor            </li>
  <em>HRM_RAW</em> is supported since Tizen 2.3.1
           </p>
 <p><span class="remark"> Remark : </span>
- <em>GRAVITY</em>, <em>GYROSCOPE</em> and <em>GYROSCOPE_ROTATION_VECTOR</em> are supported since Tizen 3.0
+ <em>GRAVITY</em>, <em>GYROSCOPE</em> and <em>GYROSCOPE_ROTATION_VECTOR</em> are supported since Tizen 2.3.2
           </p>
 </div>
 <div class="enum" id="ProximityState">
@@ -368,9 +381,13 @@ The supported sensor types are hardware-dependent. <br><br>To check if the given
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">type</span>: 
+<span class="name">type</span>:
  Sensor type to access
-                </li>
+                <ul>
+<b>Conditional privilege: </b>For using <a href="#SensorType">HRM_RAW</a> value, privilege <b>
+              http://tizen.org/privilege/healthinfo
+             (public level)</b> is needed since Tizen 2.3.1.</ul>
+</li>
         </ul>
 </div>
 <div class="returntype">
@@ -456,9 +473,11 @@ The supported sensor types are hardware-dependent. <br><br>To check if the given
 
         void stop() raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-        void setChangeListener(<a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a> successCallback, optional long? interval) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void setChangeListener(<a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a> successCallback, optional long? interval, optional long batchLatency) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
         void unsetChangeListener() raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+
+         void getSensorHardwareInfo(<a href="#SensorHardwareInfoSuccessCallback">SensorHardwareInfoSuccessCallback</a> successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
     };</pre>
 <p><span class="version">
             Since: </span>
@@ -497,11 +516,11 @@ The supported sensor types are hardware-dependent. <br><br>To check if the given
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when sensor has been successfully started
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -568,7 +587,7 @@ The supported sensor types are hardware-dependent. <br><br>To check if the given
 <div class="brief">
  Registers a listener to retrieve sensor data periodically.
             </div>
-<div class="synopsis"><pre class="signature prettyprint">void setChangeListener(<a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a> successCallback, optional long? interval);
+<div class="synopsis"><pre class="signature prettyprint">void setChangeListener(<a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a> successCallback, optional long? interval, optional long batchLatency);
              </pre></div>
 <p><span class="version">
             Since: </span>
@@ -581,7 +600,7 @@ The start() method must be called to turn on the sensor, or the sensor data will
             </p>
            </div>
 <p><span class="remark"> Remark : </span>
- <em>interval</em> is supported since Tizen 3.0
+ <em>interval</em>, <em>batchLatency</em> are supported since Tizen 2.3.2
             </p>
 <p><span class="remark"> Remark : </span>
  The specified interval is only a suggested interval between sensor measurements. You will get at least one sensor measurement within the interval you specify, but the actual interval between sensor measurements can be affected by other applications and the system. To reduce the system overhead, it is recommended to set the longest interval that you can, because the system usually chooses the shortest interval among all intervals specified.
@@ -590,12 +609,16 @@ The start() method must be called to turn on the sensor, or the sensor data will
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked periodically.
                 </li>
           <li class="param">
-<span class="name">interval</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
- The interval in milliseconds (ms) at which sensor data will be sent to the Web Application which calls this method since Tizen 3.0<br><em>interval</em> can be between 10ms and 1000ms inclusive, however, if it is null or zero, it is set to the default value of 100ms.<br>For the <a href="#SensorType">PROXIMITY</a> sensor type, <em>interval</em> will be ignored.
+<span class="name">interval</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ The interval in milliseconds (ms) at which sensor data will be sent to the Web Application which calls this method since Tizen 2.3.2<br><em>interval</em> can be between 10ms and 1000ms inclusive, however, if it is null or zero, it is set to the default value of 100ms.<br>For the <a href="#SensorType">PROXIMITY</a> sensor type, <em>interval</em> will be ignored.
+                </li>
+          <li class="param">
+<span class="name">batchLatency</span><span class="optional"> [optional]</span>:
+ The batch latency time in milliseconds (ms) at which sensor events are stored or delivered when processor stay on sleep or suspend status since Tizen 2.3.2<br><em>batchLatency</em> has hardware dependency. You can calculate maximum batchLatency value using  <a href="#SensorHardwareInfo">maxBatchCount</a> (e.g. interval x maxBatchCount) . If maxBatchCount is zero, device doesn't support batch latency time.
                 </li>
         </ul>
 </div>
@@ -609,26 +632,29 @@ The start() method must be called to turn on the sensor, or the sensor data will
  with error type UnknownError, if registering the listener fails because of an unknown error.
                 </p></li>
 <li class="list"><p>
+ with error type NotSupportedError, if the batchLatency is not supported on the sensor hardware.
+                </p></li>
+<li class="list"><p>
  with error type InvalidValuesError, if any of the input parameters contain an invalid value.
                 </p></li>
 </ul>
 </li></ul>
         </div>
 <div class="example">
-<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint"> var proximitySensor = tizen.sensorservice.getDefaultSensor("PROXIMITY");
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint"> var lightSensor = tizen.sensorservice.getDefaultSensor("LIGHT");
 
  function onsuccessCB() {
-     console.log("proximity sensor start");
+     console.log("light sensor start");
  }
 
  function onchangedCB(sensorData) {
-     console.log("proximity distance : " + sensorData.proximityState);
+     console.log("light level: " + sensorData.lightLevel);
  }
 
- // interval can be ommitted.
proximitySensor.setChangeListener(onchangedCB, 200);
+ // interval and batchLatency can be ommitted.
lightSensor.setChangeListener(onchangedCB, 200, 2000);
 
proximitySensor.start(onsuccessCB);
lightSensor.start(onsuccessCB);
  </pre>
 </div>
 </dd>
@@ -665,6 +691,78 @@ The start() method must be called to turn on the sensor, or the sensor data will
  </pre>
 </div>
 </dd>
+<dt class="method" id="Sensor::getSensorHardwareInfo">
+<a class="backward-compatibility-anchor" name="::Sensor::Sensor::getSensorHardwareInfo"></a><code><b><span class="methodName">getSensorHardwareInfo</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Gets hardware information of the sensor.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void getSensorHardwareInfo(<a href="#SensorHardwareInfoSuccessCallback">SensorHardwareInfoSuccessCallback</a> successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+<div class="description">
+            <p>
+The <em>ErrorCallback</em> method is launched with these error types:
+            </p>
+            <ul>
+              <li>
+AbortError - If operation failed.              </li>
+              <li>
+IOError - If the platform fails to internally prepare a socket for IPC communication.              </li>
+            </ul>
+           </div>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">successCallback</span>:
+ Callback method to be invoked when sensor has been successfully gotten hardware information.
+                </li>
+          <li class="param">
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ Callback method to be invoked when an error occurs.
+                </li>
+        </ul>
+</div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+          <ul class="exception"><li>WebAPIException<ul><li class="list"><p>
+ with error type TypeMismatchError, if any input parameter is not compatible with the expected type for that parameter.
+                </p></li></ul>
+</li></ul>
+        </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint"> var gravitySensor = tizen.sensorservice.getDefaultSensor("GRAVITY");
+ gravitySensor.getSensorHardwareInfo(onsuccessCB);
+
+ function onsuccessCB(hardwareInfo){
+     console.log("name: " + hardwareInfo.name);
+     console.log("type: " + hardwareInfo.type);
+     console.log("vendor: " + hardwareInfo.vendor);
+     console.log("minValue: " + hardwareInfo.minValue);
+     console.log("maxValue: " + hardwareInfo.maxValue);
+     console.log("resolution: " + hardwareInfo.resolution);
+     console.log("minInterval: " + hardwareInfo.minInterval);
+     console.log("maxBatchCount: " + hardwareInfo.maxBatchCount);
+ }
+ </pre>
+</div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre>  name: Gravity Sensor
+  type: GRAVITY
+  vendor: Samsung Electronics
+  minValue: -19.6
+  maxValue: 19.6
+  resolution: 0.01
+  minInterval: 1
+  maxBatchCount: 0
+ </pre>
+</div>
+</dd>
 </dl>
 </div>
 </div>
@@ -682,7 +780,7 @@ The start() method must be called to turn on the sensor, or the sensor data will
             Since: </span>
  2.3
           </p>
-        
+
       <div class="methods">
 <h4>Methods</h4>
 <dl>
@@ -717,11 +815,11 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when the sensor data has been read
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -771,7 +869,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
             Since: </span>
  2.3
           </p>
-        
+
       <div class="methods">
 <h4>Methods</h4>
 <dl>
@@ -806,11 +904,11 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when the sensor data has been read
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -862,7 +960,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
             Since: </span>
  2.3
           </p>
-        
+
       <div class="methods">
 <h4>Methods</h4>
 <dl>
@@ -897,11 +995,11 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when the sensor data has been read
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -951,7 +1049,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
             Since: </span>
  2.3
           </p>
-        
+
       <div class="methods">
 <h4>Methods</h4>
 <dl>
@@ -986,11 +1084,11 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when the sensor data has been read
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -1040,7 +1138,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
             Since: </span>
  2.3
           </p>
-        
+
       <div class="methods">
 <h4>Methods</h4>
 <dl>
@@ -1075,11 +1173,11 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when the sensor data has been read
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -1129,7 +1227,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
             Since: </span>
  2.3.1
           </p>
-        
+
       <div class="methods">
 <h4>Methods</h4>
 <dl>
@@ -1172,11 +1270,11 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when the sensor data has been read
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -1232,9 +1330,9 @@ The <em>ErrorCallback</em> method is launched with these error types:
     };</pre>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
           </p>
-        
+
       <div class="methods">
 <h4>Methods</h4>
 <dl>
@@ -1249,7 +1347,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
              </pre></div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 <div class="description">
             <p>
@@ -1269,11 +1367,11 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when the sensor data has been read
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -1307,6 +1405,14 @@ The <em>ErrorCallback</em> method is launched with these error types:
  gravitySensor.start(onsuccessCB);
  </pre>
 </div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> sensor start
+ ######## Get the gravity sensor data ########
+ x: -0.477486
+ y: -0.132515
+ z: -9.794124
+ </pre>
+</div>
 </dd>
 </dl>
 </div>
@@ -1323,9 +1429,9 @@ The <em>ErrorCallback</em> method is launched with these error types:
     };</pre>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
           </p>
-        
+
       <div class="methods">
 <h4>Methods</h4>
 <dl>
@@ -1340,7 +1446,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
              </pre></div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 <div class="description">
             <p>
@@ -1360,11 +1466,11 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when the sensor data has been read
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -1398,6 +1504,14 @@ The <em>ErrorCallback</em> method is launched with these error types:
  gyroscopeSensor.start(onsuccessCB);
  </pre>
 </div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> sensor start
+ ######## Get the gyroscope sensor data ########
+ x: 186
+ y: -296
+ z: -113
+ </pre>
+</div>
 </dd>
 </dl>
 </div>
@@ -1414,9 +1528,9 @@ The <em>ErrorCallback</em> method is launched with these error types:
     };</pre>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
           </p>
-        
+
       <div class="methods">
 <h4>Methods</h4>
 <dl>
@@ -1431,7 +1545,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
              </pre></div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 <div class="description">
             <p>
@@ -1451,11 +1565,11 @@ The <em>ErrorCallback</em> method is launched with these error types:
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">successCallback</span>: 
+<span class="name">successCallback</span>:
  Callback method to be invoked when the sensor data has been read
                 </li>
           <li class="param">
-<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Callback method to be invoked when an error occurs
                 </li>
         </ul>
@@ -1490,6 +1604,15 @@ The <em>ErrorCallback</em> method is launched with these error types:
  gyroscopeRotationVectorSensor.start(onsuccessCB);
  </pre>
 </div>
+<div class="output">
+<span class="title"><p>Output example:</p></span><pre> sensor start
+ ######## Get the gyroscope rotation vector sensor data ########
+ x: 0
+ y: 0
+ z: 0
+ w: 0
+ </pre>
+</div>
 </dd>
 </dl>
 </div>
@@ -1519,7 +1642,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
             Since: </span>
  2.3
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul><li class="attribute" id="SensorLightData::lightLevel">
@@ -1553,7 +1676,7 @@ The <em>ErrorCallback</em> method is launched with these error types:
             Since: </span>
  2.3
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul>
@@ -1618,13 +1741,13 @@ For increasing the accuracy, wave the device around in the air in figure-eight p
             Since: </span>
  2.3
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul><li class="attribute" id="SensorPressureData::pressure">
 <span class="attrName"><span class="readonly">                readonly
 </span><span class="type">double </span><span class="name">pressure</span></span><div class="brief">
- Pressure in millibar (hPa).
+ Pressure in hectopascal (hPa).
             </div>
 <p><span class="version">
             Since: </span>
@@ -1646,7 +1769,7 @@ For increasing the accuracy, wave the device around in the air in figure-eight p
             Since: </span>
  2.3
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul><li class="attribute" id="SensorProximityData::proximityState">
@@ -1674,7 +1797,7 @@ For increasing the accuracy, wave the device around in the air in figure-eight p
             Since: </span>
  2.3
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul><li class="attribute" id="SensorUltravioletData::ultravioletLevel">
@@ -1709,7 +1832,7 @@ The ultraviolet index is an international standard measurement of the strength o
             Since: </span>
  2.3.1
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul>
@@ -1764,12 +1887,12 @@ LED_GREEN - The green light spectrum              </li>
     };</pre>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
           </p>
 <p><span class="remark"> Remark : </span>
  An example of how to access and use this interface can be found in the <a href="sensor.html#GravitySensor::getGravitySensorData">getGravitySensorData()</a> code example.
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul>
@@ -1780,7 +1903,7 @@ LED_GREEN - The green light spectrum              </li>
             </div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 </li>
 <li class="attribute" id="SensorGravityData::y">
@@ -1790,7 +1913,7 @@ LED_GREEN - The green light spectrum              </li>
             </div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 </li>
 <li class="attribute" id="SensorGravityData::z">
@@ -1800,7 +1923,7 @@ LED_GREEN - The green light spectrum              </li>
             </div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 </li>
 </ul>
@@ -1821,12 +1944,12 @@ LED_GREEN - The green light spectrum              </li>
     };</pre>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
           </p>
 <p><span class="remark"> Remark : </span>
  An example of how to access and use this interface can be found in the <a href="sensor.html#GyroscopeSensor::getGyroscopeSensorData">getGyroscopeSensorData()</a> code example.
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul>
@@ -1837,7 +1960,7 @@ LED_GREEN - The green light spectrum              </li>
             </div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 </li>
 <li class="attribute" id="SensorGyroscopeData::y">
@@ -1847,7 +1970,7 @@ LED_GREEN - The green light spectrum              </li>
             </div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 </li>
 <li class="attribute" id="SensorGyroscopeData::z">
@@ -1857,7 +1980,7 @@ LED_GREEN - The green light spectrum              </li>
             </div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 </li>
 </ul>
@@ -1880,7 +2003,7 @@ LED_GREEN - The green light spectrum              </li>
     };</pre>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
           </p>
 <div class="description">
           <p>
@@ -1891,7 +2014,7 @@ It is equal to the components of a unit quaternion (cos(θ/2), x * sin(θ/2), y
 <p><span class="remark"> Remark : </span>
  An example of how to access and use this interface can be found in the <a href="sensor.html#GyroscopeRotationVectorSensor::getGyroscopeRotationVectorSensorData">getGyroscopeRotationVectorSensorData()</a> code example.
           </p>
-        
+
       <div class="attributes">
 <h4>Attributes</h4>
 <ul>
@@ -1902,7 +2025,7 @@ It is equal to the components of a unit quaternion (cos(θ/2), x * sin(θ/2), y
             </div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 </li>
 <li class="attribute" id="SensorGyroscopeRotationVectorData::y">
@@ -1912,7 +2035,7 @@ It is equal to the components of a unit quaternion (cos(θ/2), x * sin(θ/2), y
             </div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 </li>
 <li class="attribute" id="SensorGyroscopeRotationVectorData::z">
@@ -1922,7 +2045,7 @@ It is equal to the components of a unit quaternion (cos(θ/2), x * sin(θ/2), y
             </div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
             </p>
 </li>
 <li class="attribute" id="SensorGyroscopeRotationVectorData::w">
@@ -1932,14 +2055,198 @@ It is equal to the components of a unit quaternion (cos(θ/2), x * sin(θ/2), y
             </div>
 <p><span class="version">
             Since: </span>
- 3.0
+ 2.3.2
+            </p>
+</li>
+</ul>
+</div>
+</div>
+<div class="interface" id="SensorHardwareInfo">
+<a class="backward-compatibility-anchor" name="::Sensor::SensorHardwareInfo"></a><h3>2.23. SensorHardwareInfo</h3>
+<div class="brief">
+ The SensorHardwareInfo interface represents information about the sensor requested by the <a href="sensor.html#Sensor::getSensorHardwareInfo">getSensorHardwareInfo</a> method
+          </div>
+<pre class="webidl prettyprint">    [NoInterfaceObject] interface SensorHardwareInfo {
+
+        readonly attribute DOMString name;
+
+        readonly attribute <a href="#SensorType">SensorType</a> type;
+
+        readonly attribute DOMString vendor;
+
+        readonly attribute double minValue;
+
+        readonly attribute double maxValue;
+
+        readonly attribute double resolution;
+
+        readonly attribute long minInterval;
+
+        readonly attribute long maxBatchCount;
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+          </p>
+<p><span class="remark"> Remark : </span>
+ This interface returns hardware information provided by the sensor manufacture.
+          </p>
+<div class="attributes">
+<h4>Attributes</h4>
+<ul>
+<li class="attribute" id="SensorHardwareInfo::name">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">DOMString </span><span class="name">name</span></span><div class="brief">
+ Name of the sensor.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</li>
+<li class="attribute" id="SensorHardwareInfo::type">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">SensorType </span><span class="name">type</span></span><div class="brief">
+ <a href="sensor.html#SensorType">Type of the sensor</a>.<br>            </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</li>
+<li class="attribute" id="SensorHardwareInfo::vendor">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">DOMString </span><span class="name">vendor</span></span><div class="brief">
+ Vendor of the sensor.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</li>
+<li class="attribute" id="SensorHardwareInfo::minValue">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">minValue</span></span><div class="brief">
+ Minimum reading value that can be received from the sensor.<br><br>The units for the minimum value depends on the sensor type:<br>            </div>
+<div class="description">
+            <ul>
+              <li>
+LIGHT - lux              </li>
+              <li>
+MAGNETIC - μT (micro Tesla)              </li>
+              <li>
+PRESSURE - hPa (hectopascal)              </li>
+              <li>
+PROXIMITY - None              </li>
+              <li>
+ULTRAVIOLET - UV index (ultraviolet index)              </li>
+              <li>
+HRM_RAW - None              </li>
+              <li>
+GRAVITY - m/s<sup>2</sup> (meters per second squared)              </li>
+              <li>
+GYROSCOPE - °/s (Degrees/s)              </li>
+              <li>
+GYROSCOPE_ROTATION_VECTOR - None              </li>
+            </ul>
+            <p>
+For more information about sensor, see <a href="https://developer.tizen.org/dev-guide/latest/org.tizen.guides/html/native/system/sensors_n.htm">Sensor Guide</a>.
+            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</li>
+<li class="attribute" id="SensorHardwareInfo::maxValue">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">maxValue</span></span><div class="brief">
+ Maximum reading value that can be received from the sensor.<br><br>The units for the maximum value depends on the sensor type:<br>            </div>
+<div class="description">
+            <ul>
+              <li>
+LIGHT - lux              </li>
+              <li>
+MAGNETIC - μT (micro Tesla)              </li>
+              <li>
+PRESSURE - hPa (hectopascal)              </li>
+              <li>
+PROXIMITY - None              </li>
+              <li>
+ULTRAVIOLET - UV index (ultraviolet index)              </li>
+              <li>
+HRM_RAW - None              </li>
+              <li>
+GRAVITY - m/s<sup>2</sup> (meters per second squared)              </li>
+              <li>
+GYROSCOPE - °/s (Degrees/s)              </li>
+              <li>
+GYROSCOPE_ROTATION_VECTOR - None              </li>
+            </ul>
+            <p>
+For more information about sensor, see <a href="https://developer.tizen.org/dev-guide/latest/org.tizen.guides/html/native/system/sensors_n.htm">Sensor Guide</a>.
+            </p>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</li>
+<li class="attribute" id="SensorHardwareInfo::resolution">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">double </span><span class="name">resolution</span></span><div class="brief">
+ The smallest change which the sensor can detect.<br><br>The units of the resolution depends on the sensor type:<br>            </div>
+<div class="description">
+            <ul>
+              <li>
+LIGHT - lux              </li>
+              <li>
+MAGNETIC - μT (micro Tesla)              </li>
+              <li>
+PRESSURE - hPa (hectopascal)              </li>
+              <li>
+PROXIMITY - None              </li>
+              <li>
+ULTRAVIOLET - UV index (ultraviolet index)              </li>
+              <li>
+HRM_RAW - None              </li>
+              <li>
+GRAVITY - m/s<sup>2</sup> (meters per second squared)              </li>
+              <li>
+GYROSCOPE - °/s (Degrees/s)              </li>
+              <li>
+GYROSCOPE_ROTATION_VECTOR - None              </li>
+            </ul>
+           </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</li>
+<li class="attribute" id="SensorHardwareInfo::minInterval">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">long </span><span class="name">minInterval</span></span><div class="brief">
+ Minimum interval of the sensor which means a period between two events.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+</li>
+<li class="attribute" id="SensorHardwareInfo::maxBatchCount">
+<span class="attrName"><span class="readonly">                readonly
+</span><span class="type">long </span><span class="name">maxBatchCount</span></span><div class="brief">
+ Maximum batch count of sensor, batch means storing a sensors event in a hardware FIFO register when processor stay on sleep or suspend status.
+            </div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
             </p>
 </li>
 </ul>
 </div>
 </div>
 <div class="interface" id="SensorDataSuccessCallback">
-<a class="backward-compatibility-anchor" name="::Sensor::SensorDataSuccessCallback"></a><h3>2.23. SensorDataSuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Sensor::SensorDataSuccessCallback"></a><h3>2.24. SensorDataSuccessCallback</h3>
 <div class="brief">
  The SensorDataSuccessCallback interface is a callback interface that is invoked periodically. For example, see the Sensor interface.
           </div>
@@ -1970,7 +2277,7 @@ It is equal to the components of a unit quaternion (cos(θ/2), x * sin(θ/2), y
 <p><span class="param">Parameters:</span></p>
 <ul>
           <li class="param">
-<span class="name">sensorData</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>: 
+<span class="name">sensorData</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
  Current sensor data
                 </li>
         </ul>
@@ -1979,6 +2286,47 @@ It is equal to the components of a unit quaternion (cos(θ/2), x * sin(θ/2), y
 </dl>
 </div>
 </div>
+<div class="interface" id="SensorHardwareInfoSuccessCallback">
+<a class="backward-compatibility-anchor" name="::Sensor::SensorHardwareInfoSuccessCallback"></a><h3>2.25. SensorHardwareInfoSuccessCallback</h3>
+<div class="brief">
+ The SensorHardwareInfoSuccessCallback callback interface specifies a success callback with SensorHardwareInfo object as an input argument.
+          </div>
+<pre class="webidl prettyprint">    [Callback=FunctionOnly, NoInterfaceObject] interface SensorHardwareInfoSuccessCallback{
+        void onsuccess(<a href="#SensorHardwareInfo">SensorHardwareInfo</a> hardwareInfo);
+    };</pre>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+          </p>
+<div class="methods">
+<h4>Methods</h4>
+<dl>
+<dt class="method" id="SensorHardwareInfoSuccessCallback::onsuccess">
+<a class="backward-compatibility-anchor" name="::Sensor::SensorHardwareInfoSuccessCallback::onsuccess"></a><code><b><span class="methodName">onsuccess</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Called when sensor hardware infomation is successfully retrieved.
+            </div>
+<div class="synopsis"><pre class="signature prettyprint">void onsuccess(<a href="#SensorHardwareInfo">SensorHardwareInfo</a> hardwareInfo);
+             </pre></div>
+<p><span class="version">
+            Since: </span>
+ 2.3.2
+            </p>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+          <li class="param">
+<span class="name">hardwareInfo</span>:
+ Current sensor Hardware Info
+                </li>
+        </ul>
+</div>
+</dd>
+</dl>
+</div>
+</div>
 </div>
 <h2 id="api-features">3. Related Feature</h2>
 <div id="def-api-features" class="def-api-features">
@@ -2089,9 +2437,11 @@ To guarantee that the gyroscope rotation vector sensor application runs on a dev
 
         void stop() raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
-        void setChangeListener(<a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a> successCallback, optional long? interval) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+        void setChangeListener(<a href="#SensorDataSuccessCallback">SensorDataSuccessCallback</a> successCallback, optional long? interval, optional long batchLatency) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
 
         void unsetChangeListener() raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+
+        void getSensorHardwareInfo(SensorHardwareInfoSuccessCallback successCallback, optional ErrorCallback? errorCallback) raises(WebAPIException);
     };
 
     [NoInterfaceObject] interface LightSensor : <a href="#Sensor">Sensor</a> {
@@ -2218,8 +2568,31 @@ To guarantee that the gyroscope rotation vector sensor application runs on a dev
         readonly attribute double w;
     };
 
+    [NoInterfaceObject] interface SensorHardwareInfo {
+
+        readonly attribute DOMString name;
+
+        readonly attribute SensorType type;
+
+        readonly attribute DOMString vendor;
+
+        readonly attribute double minValue;
+
+        readonly attribute double maxValue;
+
+        readonly attribute double resolution;
+
+        readonly attribute long minInterval;
+
+        readonly attribute long maxBatchCount;
+    };
+
     [Callback=FunctionOnly, NoInterfaceObject] interface SensorDataSuccessCallback {
-        void onsuccess(optional <a href="#SensorData">SensorData</a>? sensorData);
+        void onsuccess(optional SensorData? sensorData);
+    };
+
+    [Callback=FunctionOnly, NoInterfaceObject] interface SensorHardwareInfoSuccessCallback{
+        void onsuccess(SensorHardwareInfo hardwareInfo);
     };
 };</pre>
 </div>