Revision 7.10
2/28/2012
>
<transition matchExpression="NO TRANSMISSION" toState="sendResume">
</transition>
<! If an error occured while transfering the files, give up and resume the mission
>
<transition matchExpression="Error sending files" toState="sendResume">
</transition>
</transitions>
</state>
<! Wait for a surface dialog to appear, then resume the glider mission.
>
<state name="sendResume">
<transitions>
<! If a surface dialog is seen, send a ^R to resume the mission and transition
to verify it was received.
>
<transition matchExpression="Hit ControlR to RESUME" toState="waitForResume">
<action type="glider" command="CtrlR">
</action>
</transition>
<! If no surface dialog is seen for 10 minutes, then assume the glider has dove.
Transition to send the "s" command upon the next surface event.
>
<transition timeout="10" toState="sendzModem">
</transition>
</transitions>
</state>
<! This state verifies that the mission has resumed. This verification keeps the script from
prematurely sending an "s" command before the glider actually dives (sometimes a surface
dialog is seen after the ^R is sent. Ideally this script should be changed to watch for the
glider
disconnect message. This approach is more robust.
>
<state name="waitForResume">
<transitions>
<! If the ^R command is not echoed within the timeout period, transition to resend
the command.
>
<transition matchExpression="xxx command verify fail xxx" toState="sendResume">
</transition>
<! If the ^R command is verified, then transition to send the "s" command
upon the next glider surfacing.
>
Page 203 of 228