<phyphox xmlns="https://phyphox.org/xml" version="1.19">
  <title>Gradient</title>
  <category>Tools</category>
  <icon format="base64">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</icon>
  <description>Measure the phone&apos;s gradient.

        This tool uses the accelerometer to determine the gradient of the phone when the phone is resting flat on a table.</description>
  <data-containers>
    <container>accX</container>
    <container>accY</container>
    <container>accZ</container>
    <container>accT</container>
    <container size="0">tiltFlatUD</container>
    <container size="0">tiltFlatLR</container>
    <container size="0">tiltUprightUD</container>
    <container size="0">tiltUprightLR</container>
    <container size="0">tiltSideUD</container>
    <container size="0">tiltSideLR</container>
    <container size="0">angle</container>
    <container size="0">anglePlane</container>
    <container size="0">t</container>
  </data-containers>
  <input>
    <sensor rate="2" average="true" type="accelerometer">
      <output component="x">accX</output>
      <output component="y">accY</output>
      <output component="z">accZ</output>
      <output component="t">accT</output>
    </sensor>
  </input>
  <analysis sleep="0.5">
    <formula formula="100*[1_]/[2_]">
      <input keep="true">accY</input>
      <input keep="true">accZ</input>
      <output append="true">tiltFlatUD</output>
    </formula>
    <formula formula="100*[1_]/[2_]">
      <input keep="true">accX</input>
      <input keep="true">accZ</input>
      <output append="true">tiltFlatLR</output>
    </formula>
    <formula formula="atan2([1_],[2_])*57.29577951">
      <input keep="true">accZ</input>
      <input keep="true">accY</input>
      <output append="true">tiltUprightUD</output>
    </formula>
    <formula formula="atan2([1_],[2_])*57.29577951">
      <input keep="true">accX</input>
      <input keep="true">accY</input>
      <output append="true">tiltUprightLR</output>
    </formula>
    <formula formula="atan2([1_],[2_])*57.29577951">
      <input keep="true">accY</input>
      <input keep="true">accX</input>
      <output append="true">tiltSideUD</output>
    </formula>
    <formula formula="atan2([1_],[2_])*57.29577951">
      <input keep="true">accZ</input>
      <input keep="true">accX</input>
      <output append="true">tiltSideLR</output>
    </formula>
    <formula formula="atan2(sqrt([1_]*[1_]+[2_]*[2_]),[3_])*57.29577951">
      <input keep="true">accX</input>
      <input keep="true">accY</input>
      <input keep="true">accZ</input>
      <output append="true">angle</output>
    </formula>
    <formula formula="atan2([1_],[2_])*57.29577951">
      <input keep="true">accX</input>
      <input keep="true">accY</input>
      <output append="true">anglePlane</output>
    </formula>
    <append>
      <input keep="true">accT</input>
      <output append="true">t</output>
    </append>
  </analysis>
  <views>
    <view label="Flat">
      <graph label="Tilt up/down" partialUpdate="true" labelX="[[quantity_short_time]]" labelY="Gradient" unitX="[[unit_short_second]]" unitY="%" timeOnX="true">
        <input axis="x">t</input>
        <input color="orange" axis="y">tiltFlatUD</input>
      </graph>
      <value size="2" unit="%" label="Tilt up/down">
        <input>tiltFlatUD</input>
      </value>
      <separator height="1"/>
      <graph label="Tilt left/right" partialUpdate="true" labelX="[[quantity_short_time]]" labelY="Gradient" unitX="[[unit_short_second]]" unitY="%" timeOnX="true">
        <input axis="x">t</input>
        <input color="orange" axis="y">tiltFlatLR</input>
      </graph>
      <value size="2" unit="%" label="Tilt left/right">
        <input>tiltFlatLR</input>
      </value>
      <info label="This tab helps to measure the tilting gradient of the phone, starting from a flat position."/>
    </view>
  </views>
  <export>
    <set name="Flat">
      <data name="t (s)">t</data>
      <data name="Tilt up/down (%)">tiltFlatUD</data>
      <data name="Tilt left/right (%)">tiltFlatLR</data>
    </set>
  </export>
</phyphox>