#
# Speed Steps Mission
#
#define HEADING           270
#define STEPDUR           480
#define GPS_DURATION      600
#define GPSMINHITS         60
#
# mission timer set to 120% of estimated time of mission
behavior missionTimer {
timeOut = 4000;
}

# depth envelope set to commanded + 5 m, abort at commanded + 10
behavior depthEnvelope {
minDepth = 0;
maxDepth     = 65;
abortDepth   = 70;
minAltitude  = 15;
abortAltitude  = 10;
}

# acquire gps fix 
behavior getgps  
{ 
duration = GPS_DURATION; 
minHits = GPSMINHITS; 
abortOnTimeout = False; 
} 

# ascend behavior
behavior ascend {
duration  = 600;
horizontalMode   = rudder;
horizontal       = 0;
pitch            = 0;
speed            = 0.0;
endDepth         = 2;
}

# setpoint behavior
behavior setpoint {
duration     = STEPDUR;
heading      = HEADING;
verticalMode = depth;
depth = 50.0;
speed        = .6;
}

# setpoint behavior
behavior setpoint {
duration     = STEPDUR;
heading      = HEADING;
verticalMode = depth;
depth = 50.0;
speed        = .8;
}

# setpoint behavior
behavior setpoint {
duration     = STEPDUR;
heading      = HEADING;
verticalMode = depth;
depth = 50.0;
speed        = 1.0;
}

# setpoint behavior
behavior setpoint {
duration     = STEPDUR;
heading      = HEADING;
verticalMode = depth;
depth = 50.0;
speed        = 1.2;
}

# setpoint behavior
behavior setpoint {
duration     = STEPDUR;
heading      = HEADING;
verticalMode = depth;
depth = 50.0;
speed        = 1.5;
}

# Descend behavior to 48 meters
behavior descend {
horizontalMode   = heading;
horizontal      = HEADING;
pitch        = -15;
speed        = 1.5;
maxDepth     = 48;
duration     = 300;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = HEADING;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix 
behavior getgps  
{ 
duration = GPS_DURATION; 
minHits = GPSMINHITS; 
abortOnTimeout = False; 
} 




