# C1M2_Gulp_M1_Transit.cfg
# 
# Mission Description
#
# Launch at C1
# 36 47.7600 -121 51.0000
#
# YoYo to M2
# Fire Gulper 0 at M2
# Level flight at 15 meters to M1
# Mission ends at M1
#
# Fire Gulper
#                   
#    00 at surface at M2
#
# 150m YoYo C1   to ACI_6
# 250m YoYo ACI_6 to M2
#
# Mission Distance 84,554.78 meters
#    mission duration 19.5 hours not counting surfacings
#    29 waypoint surfacings about 1 min each
# Mission duration expected 20 hours
#
#

#define MISSION_SPEED_TRANSIT 1.25
#define MISSION_SPEED 1.25
#define MIN_HITS 30

# mission timer set to full endurance of batteries (24 hours)
behavior missionTimer {
timeOut = 86400;
}

# depth envelope set to commanded + 5 m, abort at commanded + 10
behavior depthEnvelope {
 minDepth = 0;
 maxDepth     = 265;
 abortDepth   = 285;
 abortAltitude  = 2.5;
 abortLockoutDepth = 100.0;
}


#*********************
# Mission ends near M1
#*********************

# acquire gps fix
behavior getgps {
duration = 3600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 83;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}

# waypoint behavior
# Waypoint M1
# 36 45.2000 -122 01.1120
# 3300 meters
behavior waypoint {
latitude     = 36.7533;
longitude     = -122.0185;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
depth        = 15.0;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 83;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 83;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 83;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}




# waypoint behavior
# Waypoint ACI_4
# 36 44.9820 -122 03.4380
# 3300 meters
behavior waypoint {
latitude     = 36.7497;
longitude     = -122.0573;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
depth        = 15.0;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 77;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 77;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 77;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}




# waypoint behavior
# Waypoint ACI_3
# 36 44.5620 -122 05.5920
# 3300 meters
behavior waypoint {
latitude     = 36.7427;
longitude     = -122.0932;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
depth        = 15.0;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 77;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 77;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 77;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}



# waypoint behavior
# Waypoint ACI_2
# 36 44.1420 -122 07.7400
# 3300 meters
behavior waypoint {
latitude     = 36.7357;
longitude     = -122.1290;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
depth        = 15.0;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 77;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 77;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 77;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}


# waypoint behavior
# Waypoint ACI_1
# 36 43.7400 -122 09.8940
# 3300 meters
behavior waypoint {
latitude     = 36.7290;
longitude     = -122.1649;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
depth        = 15.0;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 77;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 77;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 77;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}



# waypoint behavior
# Waypoint ChavezSurveyEnd
# 36 43.3200 -122 12.0420
# 3300 meters
behavior waypoint {
latitude     = 36.7220;
longitude     = -122.2007;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
depth        = 15.0;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 81;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 81;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 81;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}



# waypoint behavior
# Waypoint M2_A
# 36 43.0289 -122 14.2315
# 3300 meters
behavior waypoint {
latitude     = 36.7171;
longitude     = -122.2372;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
depth        = 15.0;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 81;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 81;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 81;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}





# waypoint behavior
# Waypoint M2_B
# 36 42.7365 -122 16.4118
# 3300 meters
behavior waypoint {
latitude     = 36.7123;
longitude     = -122.2735;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
depth        = 15.0;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 81;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 81;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 81;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}



# waypoint behavior
# Waypoint M2_C
# 36 42.4428 -122 18.6063
# 3300 meters
behavior waypoint {
latitude     = 36.7074;
longitude     = -122.3101;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
depth        = 15.0;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 81;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 81;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 81;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}



# waypoint behavior
# Waypoint M2_D
# 36 42.1514 -122 20.7861  
# 3300 meters
behavior waypoint {
latitude     = 36.7025;
longitude     = -122.3464;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
depth        = 15.0;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 81;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 81;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 81;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}



# waypoint behavior
# Waypoint M2_E
# 36 41.9473 -122 22.2984  
# 2280 meters
behavior waypoint {
latitude     = 36.6991;
longitude     = -122.3716;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
depth        = 15.0;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 81;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 81;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}



#*********************************************
# Turn around, head for M1 NO YOYOs 15m depth
#*********************************************

#*************************
# Fire Gulper 0 at M2 ends
#*************************

#fire gulper 0 at surface at M2
behavior FireTheGulper {
	duration = 2;
	gulperToFire = 0;
}

# setpoint on surface to stay still while firing gulper
behavior setpoint {
duration     = 5;
heading      = 252;
speed        = 0;
verticalMode = pitch;
pitch        = 0;
}

#***************************
# Fire Gulper 0 at M2 begins
#***************************

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 81;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}


# waypoint behavior
# Waypoint M2
# 36 41.75 -122 23.8000  
# 2280 meters
behavior waypoint_yoyo {
latitude     = 36.6958;
longitude     = -122.3967;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 20;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 260;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 260;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 260;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}




# waypoint behavior
# Waypoint M2_E
# 36 41.9473 -122 22.2984  
# 2280 meters
behavior waypoint_yoyo {
latitude     = 36.6991;
longitude     = -122.3716;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 20;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 260;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 260;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 260;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}




# waypoint behavior
# Waypoint M2_D
# 36 42.1514 -122 20.7861  
# 3300 meters
behavior waypoint_yoyo {
latitude     = 36.7025;
longitude     = -122.3464;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 20;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 260;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 260;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 260;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}



# waypoint behavior
# Waypoint M2_C
# 36 42.4428 -122 18.6063  
# 3300 meters
behavior waypoint_yoyo {
latitude     = 36.7074;
longitude     = -122.3101;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 20;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 260;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 260;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 260;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}




# waypoint behavior
# Waypoint M2_B
# 36 42.7365 -122 16.4118  
# 3300 meters
behavior waypoint_yoyo {
latitude     = 36.7123;
longitude     = -122.2735;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 20;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 260;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 260;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 260;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}




# waypoint behavior
# Waypoint M2_A
# 36 43.0289 -122 14.2315 
# 3300 meters
behavior waypoint_yoyo {
latitude     = 36.7171;
longitude     = -122.2372;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 20;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 260;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 260;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 260;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}




# waypoint behavior
# Waypoint Chavez_Survey_End
# 36 43.3200 -122 12.0420 
# 3300 meters
behavior waypoint_yoyo {
latitude     = 36.7220;
longitude     = -122.2007;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 20;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 256;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}



# waypoint behavior
# Waypoint ACI_1
# 36 43.7400 -122 09.8940 
# 3300 meters
behavior waypoint_yoyo {
latitude     = 36.7290;
longitude     = -122.1649;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 20;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 256;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}



# waypoint behavior
# Waypoint ACI_2
# 36 44.1420 -122 07.7400 
# 3300 meters
behavior waypoint_yoyo {
latitude     = 36.7357;
longitude     = -122.1290;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 20;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 256;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}




# waypoint behavior
# Waypoint ACI_3
# 36 44.5620 -122 05.5920
# 3300 meters
behavior waypoint_yoyo {
latitude     = 36.7427;
longitude     = -122.0932;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 20;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 256;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}




# waypoint behavior
# Waypoint ACI_4
# 36 44.9820 -122 03.4380
# 3300 meters
behavior waypoint_yoyo {
latitude     = 36.7497;
longitude     = -122.0573;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 20;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 256;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}




# waypoint behavior
# Waypoint ACI_5
# 36 45.3840 -122 01.2840
# 3300 meters
behavior waypoint_yoyo {
latitude     = 36.7564;
longitude     = -122.0214;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 20;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 256;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}




# waypoint behavior
# Waypoint ACI_6
# 36 45.7991 -121 59.1215
# 3300 meters
behavior waypoint_yoyo {
latitude     = 36.7633;
longitude     = -121.9854;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
minDepth       = 3;
maxDepth       = 150;
minAltitude    = 20;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 256;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}




# waypoint behavior
# Waypoint ACI_7
# 36 46.2120 -121 56.9760
# 1360 meters
behavior waypoint_yoyo {
latitude     = 36.7702;
longitude     = -121.9496;
captureRadius = 10;
duration     = 2000;
speed        = MISSION_SPEED;
minDepth       = 3;
maxDepth       = 150;
minAltitude    = 20;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 256;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}

# waypoint behavior
# Waypoint Chavez_Survey_Start
# 36 46.3800 -121 56.0880
# 3000 meters
behavior waypoint_yoyo {
latitude     = 36.7730;
longitude     = -121.9348;
captureRadius = 10;
duration     = 3600;
speed        = MISSION_SPEED;
minDepth       = 3;
maxDepth       = 150;
minAltitude    = 20;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 251;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 251;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 251;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}

# waypoint behavior
# Waypoint C1.375
# 36 46.8961 -121 54.1810
# 2400 meters
behavior waypoint_yoyo {
latitude     = 36.7816;
longitude     = -121.9030;
captureRadius = 10;
duration     = 2800;
speed        = MISSION_SPEED;
minDepth       = 3;
maxDepth       = 150;
minAltitude    = 20;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 250;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 250;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = heading;
horizontal       = 252;
pitch            = 30;
speed            = 1.5;
endDepth         = 2;
}

# waypoint behavior
# Waypoint C1.25
# 36 47.3156 -121 52.6725
# 2600 meters
behavior waypoint_yoyo {
latitude     = 36.7886;
longitude     = -121.8779;
captureRadius = 10;
duration     = 2800;
speed        = MISSION_SPEED;
minDepth       = 3;
maxDepth       = 150;
minAltitude    = 20;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 252;
pitch        = -15;
speed        = 1.5;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 252;
speed        = 1.5;
verticalMode = pitch;
pitch        = 0;
}


# acquire gps fix
behavior getgps {
duration = 600;
minHits = MIN_HITS;
abortOnTimeout = True;
}

# Launch at C1
# 36 47.7600 -121 51.0000




