<?xml version="1.0" encoding="UTF-8"?>
<model version="2.2.03">
 <documentation>Simple model template for QP/C</documentation>
 <framework name="qpc"/>
 <package name="Events" stereotype="0x01">
  <class name="MyEvt" superclass="qpc::QEvt"/>
 </package>
 <package name="AOs" stereotype="0x02">
  <class name="MyAO" superclass="qpc::QActive">
   <documentation>Test active object</documentation>
   <statechart>
    <initial target="../1">
     <initial_glyph conn="27,7,4,0,4">
      <action box="0,-2,6,2"/>
     </initial_glyph>
    </initial>
    <state name="Initialize">
     <entry>Log state entry
Start Initialize timout counter</entry>
     <exit>Log state exit</exit>
     <initial target="../2">
      <initial_glyph conn="20,17,5,3,3">
       <action box="0,-2,6,2"/>
      </initial_glyph>
     </initial>
     <tran trig="Error" target="../../2">
      <tran_glyph conn="41,82,1,3,34,27,13">
       <action box="0,-2,6,2"/>
      </tran_glyph>
     </tran>
     <state name="Init Mission">
      <tran trig="Done" target="../../3">
       <tran_glyph conn="35,20,1,1,2,6,-2">
        <action box="0,-2,6,2"/>
       </tran_glyph>
      </tran>
      <state_glyph node="23,15,12,7"/>
     </state>
     <state name="Init CTD">
      <tran trig="Done" target="../../4">
       <tran_glyph conn="35,29,1,1,2,5,-2">
        <action box="0,-2,6,2"/>
       </tran_glyph>
      </tran>
      <state_glyph node="23,24,12,6"/>
     </state>
     <state name="Init Bellows">
      <tran trig="Done" target="../../5">
       <tran_glyph conn="35,37,1,1,2,5,-2">
        <action box="0,-2,6,2"/>
       </tran_glyph>
      </tran>
      <state_glyph node="23,32,12,6"/>
     </state>
     <state name="more Inits">
      <tran trig="Done" target="../../6">
       <tran_glyph conn="35,46,1,1,2,12,-2">
        <action box="0,-2,6,2"/>
       </tran_glyph>
      </tran>
      <state_glyph node="23,40,12,7"/>
     </state>
     <state name="Last Init">
      <tran trig="Done" target="../../../3">
       <tran_glyph conn="35,63,1,3,9,-50,4">
        <action box="0,-2,6,2"/>
       </tran_glyph>
      </tran>
      <state_glyph node="23,56,12,9"/>
     </state>
     <state_glyph node="14,11,27,75">
      <entry box="1,2,5,2"/>
      <exit box="1,4,5,2"/>
     </state_glyph>
    </state>
    <state name="Error Handler">
     <state_glyph node="88,98,31,19"/>
    </state>
    <state name="Deploy">
     <tran trig="Error" target="../../2">
      <tran_glyph conn="73,51,1,3,6,55,9">
       <action box="0,-2,6,2"/>
      </tran_glyph>
     </tran>
     <state name="Wait for Begin">
      <documentation>Telemeter position</documentation>
      <tran trig="Wait for BG" target="..">
       <tran_glyph conn="66,18,1,1,3,3,-3">
        <action box="0,-2,9,2"/>
       </tran_glyph>
      </tran>
      <tran trig="Got BG" target="../../2">
       <tran_glyph conn="66,25,1,1,3,7,-3">
        <action box="0,-2,6,2"/>
       </tran_glyph>
      </tran>
      <state_glyph node="50,16,16,11"/>
     </state>
     <state name="Maybe More Stuff">
      <tran trig="Got BG" target="../../../4">
       <tran_glyph conn="66,40,1,3,11,-27,11">
        <action box="0,-2,6,2"/>
       </tran_glyph>
      </tran>
      <state_glyph node="50,30,16,12"/>
     </state>
     <state_glyph node="48,11,25,43"/>
    </state>
    <state name="Run Mission">
     <tran trig="Error" target="../../2">
      <tran_glyph conn="88,82,3,3,-5,21,5">
       <action box="-5,-2,6,2"/>
      </tran_glyph>
     </tran>
     <state name="Descend">
      <tran trig="Start Descent" target="../../4">
       <tran_glyph conn="116,21,1,3,27">
        <action box="0,-2,12,2"/>
       </tran_glyph>
      </tran>
      <tran trig="Sample (depth or time)" target="../../5">
       <tran_glyph conn="116,30,1,3,14,21,13">
        <action box="0,-2,11,4"/>
       </tran_glyph>
      </tran>
      <tran trig="Descend Done" target="../../3">
       <tran_glyph conn="116,35,1,1,12,31,-12">
        <action box="0,-2,10,4"/>
       </tran_glyph>
      </tran>
      <state_glyph node="98,18,18,20"/>
     </state>
     <state name="Hold Depth">
      <tran trig="End Hold" target="../../1">
       <tran_glyph conn="98,50,3,3,-6,-27,6">
        <action box="-6,-2,11,4"/>
       </tran_glyph>
      </tran>
      <tran trig="Sample (time only)" target="../../5">
       <tran_glyph conn="116,54,1,3,27">
        <action box="0,-2,9,5"/>
       </tran_glyph>
      </tran>
      <tran trig="Start Depth Hold" target="../../4">
       <tran_glyph conn="116,44,1,3,17,-14,10">
        <action box="0,-2,11,4"/>
       </tran_glyph>
      </tran>
      <state_glyph node="98,41,18,20"/>
     </state>
     <state name="Park">
      <tran trig="Sample (time only)" target="../../5">
       <tran_glyph conn="116,76,1,3,23,-16,4">
        <action box="0,-2,15,3"/>
       </tran_glyph>
      </tran>
      <tran trig="Park timeout" target="../../7">
       <tran_glyph conn="116,79,1,1,96,-28,-14">
        <action box="0,-2,12,2"/>
       </tran_glyph>
      </tran>
      <tran trig="Anchor" target="../../4">
       <tran_glyph conn="116,70,1,3,20,-35,7">
        <action box="0,-2,9,4"/>
       </tran_glyph>
      </tran>
      <state_glyph node="98,64,18,17"/>
     </state>
     <state name="Buoyancy Control">
      <tran trig="Pass 1m Depth Incr" target="../../1">
       <tran_glyph conn="143,25,3,1,-27">
        <action box="-17,-2,16,2"/>
       </tran_glyph>
      </tran>
      <tran trig="Pass 1m Depth Incr" target="../../7">
       <tran_glyph conn="160,30,1,3,7,26,14">
        <action box="0,-2,17,2"/>
       </tran_glyph>
      </tran>
      <state_glyph node="143,19,17,19"/>
     </state>
     <state name="Sample Instruments">
      <state_glyph node="143,48,17,16"/>
     </state>
     <state name="Surface Ops">
      <tran trig="Maintain Surface" target="../../4">
       <tran_glyph conn="181,21,3,1,-21">
        <action box="-6,-2,9,4"/>
       </tran_glyph>
      </tran>
      <tran trig="Sample (time only)" target="../../5">
       <tran_glyph conn="181,34,3,1,-17,17,-4">
        <action box="-8,-2,9,4"/>
       </tran_glyph>
      </tran>
      <tran trig="Done" target="../../1">
       <tran_glyph conn="198,35,1,3,13,-20,-119,5,6">
        <action box="0,-2,6,2"/>
       </tran_glyph>
      </tran>
      <state_glyph node="181,18,17,19"/>
     </state>
     <state name="Ascend">
      <tran trig="Sample (depth or time)" target="../../5">
       <tran_glyph conn="181,60,3,1,-21">
        <action box="-11,-2,12,5"/>
       </tran_glyph>
      </tran>
      <tran trig="Start Ascent" target="../../4">
       <tran_glyph conn="181,53,3,1,-10,-28,-11">
        <action box="-9,-2,10,4"/>
       </tran_glyph>
      </tran>
      <tran trig="Done" target="../../6">
       <tran_glyph conn="198,65,1,1,9,-45,-9">
        <action box="0,-2,6,2"/>
       </tran_glyph>
      </tran>
      <state_glyph node="181,49,17,18"/>
     </state>
     <state_glyph node="88,11,129,79"/>
    </state>
    <state name="Check Bellows Position Limits">
     <tran trig="Every 1 sec" target="..">
      <tran_glyph conn="40,108,1,1,2,-7,-2">
       <action box="0,-2,11,2"/>
      </tran_glyph>
     </tran>
     <tran trig="Exceed Limit" target="../../2">
      <tran_glyph conn="40,112,1,3,28,0,20">
       <action box="0,-2,12,2"/>
      </tran_glyph>
     </tran>
     <state_glyph node="15,99,25,16"/>
    </state>
    <state_diagram size="247,130"/>
   </statechart>
  </class>
 </package>
 <directory name=".">
  <file name="project.h">
   <text>#include &quot;qp_port.h&quot;

$define(AOs::MyAO)

/* define some other functions */</text>
  </file>
  <file name="myao.c"/>
 </directory>
</model>
