2009/dap/system-info Overview.html,1.30,1.31

Update of /sources/public/2009/dap/system-info
In directory hutz:/tmp/cvs-serv7877

Modified Files:
	Overview.html 
Log Message:
- expanded CPU, Thermal and Fans to include individual devices
- moved CPU out


Index: Overview.html
===================================================================
RCS file: /sources/public/2009/dap/system-info/Overview.html,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- Overview.html	10 Dec 2009 11:06:12 -0000	1.30
+++ Overview.html	10 Dec 2009 13:04:32 -0000	1.31
@@ -199,7 +199,13 @@
 navigator.device.system.watch("power:state",success,null,{lowThreshold:0.2});</pre>
         </section>
 
-
+        <p class="issue">
+          We need a way to get/watch/set individual batteries (or
+          CPUs, Fans, etc.). In that case we couls define sub-URLs that
+          can be passed to <a>watch</a>. For instance,
+          <code>http://www.w3.org/2009/dap/SysInfo/PowerSource#3</code>
+          would represent the system's third power source.
+        </p>
         <section>
           <h4>Properties</h4>
           <p>Properties that can be obtained or watched through the appropriate functions</p>
@@ -219,7 +225,7 @@
                 Specifies how much the internal power source remains,
                 scaled from 0 to 1. A value of 0 means that the
                 battery level is lowest before the system stops, and 1
-                indicates that the system's charge is maximal.  Any
+                indicates that the system's charge is maximal. Any
                 threshold parameter used in a <a>watch</a> function to
                 monitor this property applies to this attribute.
               </dd>
@@ -246,10 +252,13 @@
           </section>
 
           <dl title="[NoInterfaceObject] interface PowerSource" class="idl">
-            <dt>const unsigned short BATTERY=0</dt>
+            <dt>const unsigned short UNKNOWN=0</dt>
+            <dd>In <code>type</code> has this value, then this power source is undetermined</dd>
+
+            <dt>const unsigned short BATTERY=1</dt>
             <dd>In <code>type</code> has this value, then this power source is a battery</dd>
 
-            <dt>const unsigned short EXTERNAL=1</dt>
+            <dt>const unsigned short EXTERNAL=2</dt>
             <dd>In <code>type</code> has this value, then this power source is external</dd>
 
             <dt>attribute unsigned int type</dt>
@@ -272,21 +281,24 @@
 
       </section>
 
-      <!--******************* Internal Sensors *******************************************-->
+      <!--******************* CPU *******************************************-->
       <section>
-        <h3>Internal Sensors (CPU, Fans, Temperature)</h3>
-        <p>This section defines a set of APIs that expose sensor
-        information pertaining to the internal state of the
-        device. For example, <abbr title="Central Processing Unit">CPU</abbr> 
-        load, cooling fan speed, or temperature.</p>
+        <h3>CPU</h3>
+        <p>This section defines a set of APIs that expose the system's CPU information, including type, specifications, and load
+        information</p>
         
         <section>
           <h4>ECMAScript Example</h4>
           <pre class="sh_javascript example">
+navigator.device.system.watch("cpu:state",success);</pre>
+
 var success = function(cpu) {
-  document.getElementById("cpuIndicator").innerHTML=("CPU: "+cpu.load);
+  var s="CPU STATUS. Global load: "+cpu.load";
+  for (var i=0;i&lt;cpu.units;i++) {
+    s+="CPU #"+i+": "+cpu.units[i].currentFrequency+" MHz";
+  }
+  document.getElementById("cpuState").innerHTML=s;
 }
-navigator.device.system.watch("internal:CPULoad",success,null);</pre>
         </section>
         
         <section>
@@ -295,10 +307,10 @@
           <section>
             <h5>CPU State</h5>
             <ul>
-              <li>URI: <code>http://www.w3.org/2009/dap/sysinfo/internal#CPULoad</code></li>
-              <li>Short Name: <code>internal:CPULoad</code></li>
+              <li>URI: <code>http://www.w3.org/2009/dap/Sysinfo/CpuState</code></li>
+              <li>Short Name: <code>cpu:state</code></li>
               <li>Corresponding DCO property: <a href="">@@</a></li>
-              <li>Value type: <a>CpuLoad</a></li>
+              <li>Value type: <a>CpuState</a></li>
             </ul>
 
             <dl title="[NoInterfaceObject] interface CpuState" class="idl">
@@ -306,62 +318,119 @@
               <dd>
                 This attribute indicates the current CPU load, as a
                 number between 0.0 and 1.0, representing the minimum and
-                maximum values allowed by this system. On devices that
-                have multiple CPUs, this value should reflect the
-                average load of the individual CPUs.
+                maximum values allowed on this system.  Any
+                threshold parameter used in a <a>watch</a> function to
+                monitor this property applies to this attribute.
+              </dd>
+              <dt>attribute sequence&lt;CPU&gt; units</dt>
+              <dd>The list of available CPUs</dd>
+            </dl>
+
+            <dl title="[NoInterfaceObject] interface Cpu" class="idl">
+              <dt>attribute float currentFrequency</dt>
+              <dd>
+                This attribute indicates the current frequency of this CPU (in MHz).
+              </dd>
+              <dt>attribute float maxFrequency</dt>
+              <dd>
+                This attribute indicates the maximum frequency of this CPU (in MHz).
               </dd>
             </dl>
           </section>
+        </section>
+      </section>
+      <!--******************** /CPU **********************************-->
+
+      <!--******************* Temperature *******************************************-->
+      <section>
+        <h3>Internal Temperature</h3>
+        <p>This API offers access to the system's temparature, as measured by internal thermometers</p>
+        
+        <section>
+          <h4>ECMAScript Example</h4>
+          <pre class="sh_javascript example">
+var success = function(thermal) {
+  document.getElementById("tempIndicator").innerHTML=("Current Temperature #1: "+thermal.thermometers[0].temperature);
+}
+navigator.device.system.get("internal:CPULoad",success);</pre>
+        </section>
+        
+        <section>
+          <h4>Properties</h4>
 
           <section>
-            <h5>Internal Thermometer</h5>
+            <h5>Thermal State</h5>
             <ul>
-              <li>URI: <code>http://www.w3.org/2009/dap/sysinfo/internal#temperature</code></li>
-              <li>Short Name: <code>internal:temperature</code></li>
-              <li>Value type: <a>Temperature</a></li>
+              <li>URI: <code>http://www.w3.org/2009/dap/SysInfo/Thermal/State</code></li>
+              <li>Short Name: <code>thermal:state</code></li>
               <li>Corresponding DCO property: <a href="">@@</a></li>
+              <li>Value type: <a>ThermalState</a></li>
             </ul>
 
-            <dl title="[NoInterfaceObject] interface Temperature" class="idl">
-              <dt>attribute float value</dt>
+            <dl title="[NoInterfaceObject] interface ThermalState" class="idl">
+              <dt>attribute float status</dt>
               <dd>
-                This attribute indicates the current internal
-                temperature of the system, scaled to a 0.0 to 1.0
-                floating point range. A value of 0.0 means that the
-                system is running at the lowest safe temperature, and a
-                value of 1.0 means that the system is running at the
-                highest safe temparature. On devices that have multiple
-                thermometers, this value should reflect the global
-                internal temperature of the device.
+                This attribute indicates the current thermal status,
+                as a number between 0.0 and 1.0 representing the
+                minimum and maximum operating values allowed by this
+                system. On devices that have multiple thermometer,
+                this implementation-defined value should reflect the
+                global temperature of the system.
               </dd>
+
+              <dt>attribute sequence &lt;Thermometer&gt; thermometers</dt>
+              <dd>The list of all the system's internal themometers</dd>
             </dl>
-          </section>
 
+            <dl title="[NoInterfaceObject] interface Thermometer" class="idl">
+              <dt>attribute float currentTemperature</dt>
+              <dd>This thermometer's current temperature, on the Celsius scale (°C)</dd>
+            </dl>
+          </section>
+          
           <section>
-            <h5>Cooling Fan</h5>
+            <h5>Cooling Devices</h5>
+            <p>The property and interfaces defined here expose information about the system's devices that act as cooling mechanisms for internal components generating heat (e.g. CPU)</p>
             <ul>
-              <li>URI: <code>http://www.w3.org/2009/dap/sysinfo/internal#fanThrottle</code></li>
-              <li>Short Name: <code>internal:fanThrottle</code></li>
+              <li>URI: <code>http://www.w3.org/2009/dap/SysInfo/Thermal/Cooling</code></li>
+              <li>Short Name: <code>thermal:cooling</code></li>
               <li>Corresponding DCO property: <a href="">@@</a></li>
-              <li>Value type: <a>FanThrottle</a></li>
+              <li>Value type: <a>CoolingSystem</a></li>
             </ul>
 
-            <dl title="[NoInterfaceObject] interface Fanthrottle" class="idl">
+            <dl title="[NoInterfaceObject] interface CoolingSystem" class="idl">
               <dt>attribute float value</dt>
               <dd>
-                This attribute indicates that the current throttling
-                speed of the cooling fans scaled to a 0.0 to 1.0
-                floating point range. A value of 0.0 means that the fan
-                is not running, and a value of 1.0 means that the system
-                is running at its maximum speed.  On devices that have
-                multiple cooling fans, this value should reflect the
-                average speed of the individual fans.
+                This attribute indicates the current state of the
+                cooling system scaled to a 0.0 to 1.0 floating point
+                range. A value of 0.0 means that the system is not
+                running, and a value of 1.0 means that the system
+                running at its maximum capacity.  On devices that have
+                multiple cooling devices, this value should reflect the
+                global status of the individual devices
+              </dd>
+              <dt>attribute sequence &lt;CoolingDevice&gt; devices</dt>
+              <dd>The list of all the system's cooling devices (e.g. fans).</dd>
+            </dl>
+
+            <dl title="[NoInterfaceObject] interface CoolingDevice" class="idl">
+              <dt>const unsigned short UNKNOWN=0</dt>
+              <dd>A device of undetermined type.</dd>
+              <dt>const unsigned short FAN=1</dt>
+              <dd>A cooling fan</dd>
+              <dt>const unsigned short LIQUID=2</dt>
+              <dd>A liquid submersion cooling device</dd>
+              <dt>attribute unsigned short type</dt>
+              <dd>The kind of device. Takes a value among the constants defined in this interface</dd>
+              <dt>attribute float? speed</dt>
+              <dd>
+                If the type of this device is <a>FAN</a>, the fan's rotational speed (in <abbr title="Revolutions Per Minute">RPM</abbr>). <code>null</code> otherwise.
               </dd>
             </dl>
           </section>
         </section>
       </section>
-      <!--******************** /Internal **********************************-->
+      <!--******************** /Temperature **********************************-->
 
       <!--******************** Network **********************************-->
 

Received on Thursday, 10 December 2009 13:04:50 UTC