1# example mission box5.flo
2# refactored box mission with load
3# uses exit context to increment counter
4
5house box5
6
7init max.depth with 50.0
8
9init boxer.heading with 0.0
10init boxer.turn with 90.0
11init boxer.leg with 0.0
12init boxer.nlegs with 4.0
13
14framer vehiclesim be active first vehicle_run
15
16frame vehicle_run
17   do simulator motion uuv
18
19framer mission be active first leg
20
21frame depthmax
22   go abort if state.depth >= .max.depth
23
24frame leg in depthmax
25   set elapsed with 20.0
26   set goal.heading from boxer.heading
27   set goal.depth with 5.0
28   set goal.speed with 2.5
29   go gpsfix if elapsed >= goal
30   go mission_stop if .boxer.leg >= .boxer.nlegs
31
32frame gpsfix
33   aux gps
34   go leg if gps is done
35   exit
36      inc boxer.heading from boxer.turn
37      inc boxer.leg with 1.0
38
39frame abort
40   set goal.depth with 0.0
41   set goal.speed with 2.5
42   go mission_stop if state.depth == 0.0 +- 0.25
43
44frame mission_stop
45   bid stop all
46
47framer autopilot be active first autopilot_run
48
49frame autopilot_run
50   do controller pid speed
51   do controller pid heading
52   do controller pid depth
53   do controller pid pitch
54
55logger logger to /tmp/log/ioflo/  # /tmp deleted on reboot but /var/tmp not
56  log state on update
57    loggee state.position state.heading state.depth state.speed
58
59  log goal on update
60     loggee goal.heading goal.depth goal.speed
61
62load gps.flo
63