<?xml version="1.0" encoding="UTF-8"?>

<Mission xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="Tethys"
         xmlns:Guidance="Tethys/Guidance"
         xmlns:Units="Tethys/Units"
         xmlns:Sample="Tethys/Sample"
         xmlns:Sensor="Tethys/Sensor"
         xsi:schemaLocation="Tethys http://okeanids.mbari.org/tethys/Xml/Tethys.xsd
                             Tethys/Units http://okeanids.mbari.org/tethys/Xml/Units.xsd
                             Tethys/Sensor http://okeanids.mbari.org/tethys/Xml/Sensor.xsd"
       Id="multiray_test">

    <Description>
        This mission is designed to run in the lab only. Cycles through MultiRay light modes
    </Description>

    <DefineArg Name="MissionTimeout"><Description>
        How long to let the mission run.
    </Description><Units:minute/><Value>5</Value></DefineArg>

    <DefineArg Name="LightDuration"><Description>
        How long to wait before changing light modes
    </Description><Units:second/><Value>5</Value></DefineArg>

    <DefineArg Name="LightMode0"><Description>
        Light mode = 0
    </Description><Units:count/><Value>0</Value></DefineArg>

    <DefineArg Name="LightMode1"><Description>
        Light mode = 1
    </Description><Units:count/><Value>1</Value></DefineArg>

    <DefineArg Name="LightMode2"><Description>
        Light mode = 2
    </Description><Units:count/><Value>2</Value></DefineArg>

    <DefineArg Name="EnabledMultiray"><Description>
        Automatically set to true if the Multiray is enabled.
    </Description><Science:MultiRay.loadAtStartup/></DefineArg>

    <Timeout Duration="MissionTimeout"/>



    <ReadData Strategy="MinError">
        <While>
            <Arg Name="EnabledMultiray"/>
        </While>
    <Sensor:MultiRay.lightModeLog/>
    </ReadData>


    <!-- <ReadDatum>
            <Sensor:MultiRay.lightModeLog/>
    </ReadDatum> -->

    <Assign><Sequence/><Sensor:MultiRay.lightModeCommand/><Arg Name="LightMode0"/></Assign>    
    <Guidance:Wait>
                <Sequence/>
                <Setting><Guidance:Wait.duration/><Arg Name="LightDuration"/></Setting>
            </Guidance:Wait>

    <Assign><Sequence/><Sensor:MultiRay.lightModeCommand/><Arg Name="LightMode1"/></Assign>    
    <Guidance:Wait>
                <Sequence/>
                <Setting><Guidance:Wait.duration/><Arg Name="LightDuration"/></Setting>
            </Guidance:Wait>

    <Assign><Sequence/><Sensor:MultiRay.lightModeCommand/><Arg Name="LightMode2"/></Assign>    
    <Guidance:Wait>
                <Sequence/>
                <Setting><Guidance:Wait.duration/><Arg Name="LightDuration"/></Setting>
            </Guidance:Wait>

    <Assign><Sequence/><Sensor:MultiRay.lightModeCommand/><Arg Name="LightMode0"/></Assign>    
    <Guidance:Wait>
                <Sequence/>
                <Setting><Guidance:Wait.duration/><Arg Name="LightDuration"/></Setting>
            </Guidance:Wait>
    
    <Assign><Sequence/><Sensor:MultiRay.lightModeCommand/><Arg Name="LightMode1"/></Assign>    
    <Guidance:Wait>
                <Sequence/>
                <Setting><Guidance:Wait.duration/><Arg Name="LightDuration"/></Setting>
            </Guidance:Wait>

    <Assign><Sequence/><Sensor:MultiRay.lightModeCommand/><Arg Name="LightMode2"/></Assign>    
    <Guidance:Wait>
                <Sequence/>
                <Setting><Guidance:Wait.duration/><Arg Name="LightDuration"/></Setting>
            </Guidance:Wait>

    <Assign><Sequence/><Sensor:MultiRay.lightModeCommand/><Arg Name="LightMode0"/></Assign>    
    <Guidance:Wait>
                <Sequence/>
                <Setting><Guidance:Wait.duration/><Arg Name="LightDuration"/></Setting>
            </Guidance:Wait>

    <Assign><Sequence/><Sensor:MultiRay.lightModeCommand/><Arg Name="LightMode1"/></Assign>    
    <Guidance:Wait>
                <Sequence/>
                <Setting><Guidance:Wait.duration/><Arg Name="LightDuration"/></Setting>
            </Guidance:Wait>

    <Assign><Sequence/><Sensor:MultiRay.lightModeCommand/><Arg Name="LightMode2"/></Assign>    
    <Guidance:Wait>
                <Sequence/>
                <Setting><Guidance:Wait.duration/><Arg Name="LightDuration"/></Setting>
            </Guidance:Wait>

    <Assign><Sequence/><Sensor:MultiRay.lightModeCommand/><Arg Name="LightMode0"/></Assign>    
    <Guidance:Wait>
                <Sequence/>
                <Setting><Guidance:Wait.duration/><Arg Name="LightDuration"/></Setting>
            </Guidance:Wait>

</Mission>
