<phyphox version="1.7" locale="en">
    <title>Habitable Zone: exploring the role of radation and distance</title>
    <category>*Astrolab University of Cologne</category>
    <description>
        Measure IR radiation (and temperature) as a function of distance.
    </description>
    <data-containers>
        <container size="1">last</container>
        <container size="0">tempAll</container>
        <container size="0">-tempAll</container>
        <container size="0">new</container>
        <container size="1">count</container>
        <container size="1000">dx</container>
        <container size="1000">dy</container>
        <container size="0" init="0">x</container>
        <container size="0" init="0">y</container>

        <container size="1">x2</container>
        <container size="1">y2</container>
        <container size="1">d2</container>
        <container size="1">d</container>

        <container size="0">T_IR_raw</container>
        <container size="1">T_IR_cal</container>
        
        <container size="0">T_amb_raw</container>
        <container size="1">T_amb_cal</container>

        <container size="0">dHist</container>
        <container size="0">T_IRHist</container>
        <container size="0">T_ambHist</container>
        
    </data-containers>
    <input>
        <bluetooth uuid="00001812-0000-1000-8000-00805f9b34fb" mode="notification">
            <config char="00002A4e-0000-1000-8000-00805F9B34FB"  conversion="hexadecimal">00</config>
            <output char="00002A33-0000-1000-8000-00805F9B34FB" offset="1" length="1" conversion="int8">dx</output>
            <output char="00002A33-0000-1000-8000-00805F9B34FB" offset="2" length="1" conversion="int8">dy</output>
        </bluetooth>
        <bluetooth name="SensorTag" mode="notification">
            <config char="F000AA03-0451-4000-B000-000000000000" conversion="hexadecimal">1E</config>
            <config char="F000AA02-0451-4000-B000-000000000000" conversion="hexadecimal">01</config>
            <output char="F000AA01-0451-4000-B000-000000000000" conversion="uInt16LittleEndian" offset="0" length="2">T_IR_raw</output>
            <output char="F000AA01-0451-4000-B000-000000000000" conversion="uInt16LittleEndian" offset="2" length="2">T_amb_raw</output>
        </bluetooth>
    </input>
    <views>
        <view label="IR-Intensity">
            <graph label="Temperature" labelX="r" unitX="a.u." labelY="T" unitY="°C">
                <input axis="y">T_IRHist</input>
                <input axis="x">dHist</input>
            </graph>
            <info label="Avoid rotating the mouse! Rotations cannot be recognized and it is impossible to calculate the total distance when axes change due to the rotation." />
        </view>
        <view label="Temperature (log-log)">
            <graph label="log-log" labelX="log(r)" unitX="" labelY="log(T/°C)" unitY="" logX="true" logY="true">
                <input axis="y">T_IRHist</input>
                <input axis="x">dHist</input>
            </graph>
        </view>
        <view label="IR vs. ambient">
            <graph label="T_IR(r)" labelX="r" unitX="a.u." labelY="T" unitY="°C">
                <input axis="y">T_IRHist</input>
                <input axis="x">dHist</input>
            </graph>
            <graph label="T_amb(r)" labelX="r" unitX="a.u." labelY="T" unitY="°C">
                <input axis="y">T_ambHist</input>
                <input axis="x">dHist</input>
            </graph>
            <info label="Avoid rotating the mouse! Rotations cannot be recognized and it is impossible to calculate the total distance when axes change due to the rotation." />
        </view>
        <!--view label="Mouse">
            <graph label="Integrated Movement" labelX="x" unitX="a.u." labelY="y" unitY="a.u." aspectRatio="1">
                <input axis="y">y</input>
                <input axis="x">x</input>
            </graph>
        </view-->
    </views>
    
    <analysis optimization="true" sleep="0.3">
    
        <formula formula="floor([1_]/4)*0.03125">
            <input clear="false">T_IR_raw</input>
            <output clear="true">T_IR_cal</output>
        </formula>
        
        <formula formula="floor([1_]/4)*0.03125">
            <input clear="false">T_amb_raw</input>
            <output clear="true">T_amb_cal</output>
        </formula>

        <append>
            <input clear="false">x</input>
            <output>last</output>
        </append>
        <integrate>
            <input>dx</input>
            <output>tempAll</output>
        </integrate>
        <count>
            <input clear="false">tempAll</input>
            <output>count</output>
        </count>
        <add>
            <input>tempAll</input>
            <input>last</input>
            <output>new</output>
        </add>
        <if greater="true">
            <input>count</input>
            <input type="value">0</input>
            <input>new</input>
            <output clear="false">x</output>
        </if>

        <append>
            <input clear="false">y</input>
            <output>last</output>
        </append>
        <integrate>
            <input>dy</input>
            <output>tempAll</output>
        </integrate>
        <multiply>
            <input clear="false">tempAll</input>
            <input type="value">-1</input>
            <output>-tempAll</output>
        </multiply>
        <count>
            <input clear="false">tempAll</input>
            <output>count</output>
        </count>
        <add>
            <input>-tempAll</input>
            <input>last</input>
            <output>new</output>
        </add>
        <if greater="true">
            <input>count</input>
            <input type="value">0</input>
            <input>new</input>
            <output clear="false">y</output>
        </if>

        <multiply>
            <input clear="false">x</input>
            <input clear="false">x</input>
            <output>x2</output>
        </multiply>
        <multiply>
            <input clear="false">y</input>
            <input clear="false">y</input>
            <output>y2</output>
        </multiply>
        <add>
            <input clear="false">x2</input>
            <input clear="false">y2</input>
            <output>d2</output>
        </add>
        <power>
            <input clear="false" as="base">d2</input>
            <input type="value" as="exponent">0.5</input>
            <output>d</output>
        </power>

        <count>
            <input clear="false">T_IR_cal</input>
            <output>count</output>
        </count>
        <if greater="true">
            <input clear="false">count</input>
            <input type="value">0</input>
            <input>T_IR_cal</input>
            <output clear="false">T_IRHist</output>
        </if>
        <if greater="true">
            <input clear="false">count</input>
            <input type="value">0</input>
            <input>T_amb_cal</input>
            <output clear="false">T_ambHist</output>
        </if>
        <if greater="true">
            <input>count</input>
            <input type="value">0</input>
            <input>d</input>
            <output clear="false">dHist</output>
        </if>

    </analysis>

    <export>
        <set name="Temperature-Distance">
            <data name="d (a.u.)">dHist</data>
            <data name="T_IR (°C)">T_IRHist</data>
            <data name="T_amb (°C)">T_ambHist</data>
        </set>
    </export>

</phyphox>
