DUSBL.xml

Page auto-generated from XML file.

Failure

The generated TethysL source could not be parsed, likely due to source XML not being well-formed.

Below is the compile error at the TethysL level, as well as the source XML.

The TethysL file name shown below does not necessarily indicate the file exists, but hints about the actual corresponding .xml file.

Syntax error:
   --> lrauv-application/Missions/Maintenance/DUSBL.xml:50:5
    | 
 46 |     set Guidance:SetSpeed.speed = 0 meter_per_second
 47 |   }
 48 | 
 49 |   readData {
 50 |     when (
    |     ^^^^
 51 |       EnabledDUSBL
 52 |     )
 53 |     Universal:acoustic_contact_range
 54 |     Universal:acoustic_contact_direction_vehicle_frame
    | 
Unexpected: `when`
One of the following is possible:
  """
  while
  timeout
  break
  interval
  period
  someID
  Universal:...
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# ====================
#     Generated by TethysL
#     ====================
mission DUSBL {
  """
  This mission is requests a DUSBL arming.
  """

  arguments {
    MissionTimeout = 90 minute
      """
      How long to let the mission run.
      """

    NumberOfRequests = 10 count
      """
      Number of pings to requst.
      """

    TransponderCode = 2 count
      """
      Transponder Address.
      """

    NumberOfPings = 1 count
      """
      Number of pings requested each time.
      """

    EnabledDUSBL = Sensor:DUSBL_Hydroid.loadAtStartup
      """
      Automatically set to true if the DUSBL is enabled. Set to false to
      disable reading from the DUSBL.
      """
  }

  timeout duration=MissionTimeout

  behavior Guidance:Pitch {
    run in parallel
    set Guidance:Pitch.massPosition = Control:VerticalControl.massDefault
  }

  behavior Guidance:SetSpeed {
    run in parallel
    set Guidance:SetSpeed.speed = 0 meter_per_second
  }

  readData {
    when (
      EnabledDUSBL
    )
    Universal:acoustic_contact_range
    Universal:acoustic_contact_direction_vehicle_frame
  }

  aggregate RequestRepeater {
    run in sequence repeat=NumberOfRequests

    assign in parallel Sensor:DUSBL_Hydroid.transponderCode = TransponderCode

    assign in parallel Sensor:DUSBL_Hydroid.pingRequested = NumberOfPings

    behavior Guidance:Wait {
      run in sequence
      set Guidance:Wait.duration = 90 second
    }
  }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?xml version="1.0" encoding="UTF-8"?>
<!-- ====================
     Generated by TethysL
     ==================== -->
<Mission xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="Tethys"
         xmlns:Units="Tethys/Units"
         xmlns:Guidance="Tethys/Guidance"
         xmlns:Control="Tethys/Control"
         xmlns:Sensor="Tethys/Sensor"
         xmlns:Universal="Tethys/Universal"
         xsi:schemaLocation="Tethys http://okeanids.mbari.org/tethys/Xml/Tethys.xsd
                             Tethys/Units http://okeanids.mbari.org/tethys/Xml/Units.xsd
                             Tethys/Guidance http://okeanids.mbari.org/tethys/Xml/Guidance.xsd
                             Tethys/Control http://okeanids.mbari.org/tethys/Xml/Control.xsd
                             Tethys/Sensor http://okeanids.mbari.org/tethys/Xml/Sensor.xsd
                             Tethys/Universal http://okeanids.mbari.org/tethys/Xml/Universal.xsd"
       Id="DUSBL">

    <Description>
        This mission is requests a DUSBL arming.
    </Description>

    <DefineArg Name="MissionTimeout"><Description>
        How long to let the mission run.
    </Description><Units:minute/><Value>90</Value></DefineArg>

    <DefineArg Name="NumberOfRequests"><Description>
        Number of pings to requst.
    </Description><Units:count/><Value>10</Value></DefineArg>

    <DefineArg Name="TransponderCode"><Description>
        Transponder Address.
    </Description><Units:count/><Value>2</Value></DefineArg>

    <DefineArg Name="NumberOfPings"><Description>
        Number of pings requested each time.
    </Description><Units:count/><Value>1</Value></DefineArg>

    <DefineArg Name="EnabledDUSBL"><Description>
        Automatically set to true if the DUSBL is enabled. Set to false to
        disable reading from the DUSBL.
    </Description><Sensor:DUSBL_Hydroid.loadAtStartup/></DefineArg>

    <Timeout Duration="MissionTimeout"/>

    <Guidance:Pitch>
        <Parallel/>
        <Setting><Guidance:Pitch.massPosition/><Control:VerticalControl.massDefault/></Setting>
    </Guidance:Pitch>

    <Guidance:SetSpeed>
        <Parallel/>
        <Setting><Guidance:SetSpeed.speed/><Units:meter_per_second/><Value>0</Value></Setting>
    </Guidance:SetSpeed>

    <ReadData>
        <When>
            <Arg Name="EnabledDUSBL"/>
        </When>
        <Universal:acoustic_contact_range/>
        <Universal:acoustic_contact_direction_vehicle_frame/>
    </ReadData>

    <Aggregate Id="RequestRepeater">

        <Sequence Repeat="NumberOfRequests"/>

        <Assign><Parallel/><Sensor:DUSBL_Hydroid.transponderCode/><Arg Name="TransponderCode"/></Assign>

        <Assign><Parallel/><Sensor:DUSBL_Hydroid.pingRequested/><Arg Name="NumberOfPings"/></Assign>

        <Guidance:Wait>
            <Sequence/>
            <Setting><Guidance:Wait.duration/><Units:second/><Value>90</Value></Setting>
        </Guidance:Wait>

    </Aggregate>

</Mission>