<?xml version="1.0"?>
<!--
  Enumerates all available channels from the MotionNode Configurable
  data service. It is not required to enumerate all channels in your
  client definition. The hierarchy in this example file illustrates
  which channels are activated by which parent node.

  The <all> node denotes that all child channels are enabled. Its children,
  <preview>, <sensor>, and <raw> in turn denote that all child channels are
  enabled.

  <Gq> enables <Gqw>, <Gqx>, <Gqy>, and <Gqz>
  
  All real valued elements specified in IEEE-754 single precision binary
  floating point format (binary32), little-endian byte order.
  
  All integral value elements specified in 16-bit signed integer two's
  complement format (short), little endian byte order.  
  
  
  @file    tools/configurable.xml
  @author  Luke Tokheim, luke@motionnode.com
  @version 1.4
  
  (C) Copyright GLI Interactive LLC 2011. All rights reserved.

  The coded instructions, statements, computer programs, and/or related
  material (collectively the "Data") in these files contain unpublished
  information proprietary to GLI Interactive LLC, which is protected by
  US federal copyright law and by international treaties.

  The Data may not be disclosed or distributed to third parties, in whole
  or in part, without the prior written consent of GLI Interactive LLC.

  The Data is provided "as is" without express or implied warranty, and
  with no claim as to its suitability for any purpose. 
-->
<!--
 Root element with preferences defined as attributes.
 
 stride: Skip frames to slow data rate handled by client. For example,
         set stride="2" to halve the frame rate exported to the client.
 
 full:   Full data stream read direct from hardware device to client. Set
         to "1" to enable full mode. The default data stream will drop
         samples if the client falls behind to preserve the hardware
         connection.
-->
<configurable stride="0" full="0">
 <all>
  <!--
   Preview class data. Orientation and other computed outputs.
  -->
  <preview>
   <!-- Global quaternion. -->
   <Gq>
    <w/>
    <x/>
    <y/>
    <z/>
   </Gq>
   <!-- Local quaternion. -->
   <Lq>
    <w/>
    <x/>
    <y/>
    <z/>
   </Lq>
   <!-- Euler angle set. X-Y-Z rotation order. -->
   <r>
    <x/>
    <y/>
    <z/>
   </r>
   <!-- Linear acceleration estimate. -->
   <la>
    <x/>
    <y/>
    <z/>
   </la>
   <!-- Linear velocity estimate. NOT IMPLEMENTED. -->
   <lv>
    <x/>
    <y/>
    <z/>
   </lv>
   <!-- Linear translation estimate. NOT IMPLEMENTED. -->
   <lt>
    <x/>
    <y/>
    <z/>
   </lt>
   <!-- Position contraint with unit weight. NOT IMPLEMENTED. -->
   <c>
    <w/>
    <x/>
    <y/>
    <z/>
   </c>
  </preview>
  <!--
   Sensor class data. Calibrated measurements from the onboard sensors.
  -->
  <sensor>
   <!-- Accelerometer. Specified in g. -->
   <a>
    <x/>
    <y/>
    <z/>
   </a>
   <!-- Magnetometer. Specified in microtesla. -->
   <m>
    <x/>
    <y/>
    <z/>
   </m>
   <!-- Gyroscope. Specified in degree/second. -->
   <g>
    <x/>
    <y/>
    <z/>
   </g>
   <!-- Temperature. Specified in degrees Celsius. -->
   <temp/>
  </sensor>
  <!--
   Raw class data. Unprocessed integer measurments from the onboard sensors.
  -->
  <raw>
   <!-- Accelerometer. In range [0, 4095] or [-16383, 16383]. -->
   <A>
    <x/>
    <y/>
    <z/>
   </A>
   <!-- Magnetometer. In range [0, 4095] or [-2047, 2047]. -->
   <M>
    <x/>
    <y/>
    <z/>
   </M>
   <!-- Gyroscope. In range [0, 4095] or [-32767, 32767]. -->
   <G>
    <x/>
    <y/>
    <z/>
   </G>
   <!-- Temperature. In range [0, 4095] or [-16383, 16383]. -->
   <Temp/>
  </raw>
  <!-- Time data. -->
  <time>
   <!-- Time step. Specified in seconds. NOT IMPLEMENTED. -->
   <dt/>
   <!-- Packet time. Specified in seconds since start, based on sample count. NOT IMPLEMENTED. -->
   <timestamp/>
   <!-- System time. Specified in seconds since start, based on system clock. NOT IMPLEMENTED. -->
   <systemtime/>
  </time>
 </all>
</configurable>

