Browse Source

Initial cleanup of (Doxygen) documentation.

QGC4.4
Gus Grubba 5 years ago
parent
commit
f820a7c697
  1. 1493
      doc/Doxyfile
  2. 29
      doc/README
  3. BIN
      doc/graphs.graffle
  4. 16
      doc/links.md
  5. 120
      doc/links.svg
  6. 5
      doc/qgroundcontrol.md
  7. BIN
      doc/qgroundcontrol.png
  8. 14
      doc/vehicleMgmt.md
  9. 159
      doc/vehicleMgmt.svg
  10. 2
      src/Audio/AudioOutput.h
  11. 5
      src/CmdLineOptParser.cc
  12. 13
      src/CmdLineOptParser.h
  13. 26
      src/FirmwarePlugin/FirmwarePlugin.h
  14. 5
      src/JsonHelper.h
  15. 4
      src/LogCompressor.cc
  16. 21
      src/LogCompressor.h
  17. 7
      src/QGCComboBox.cc
  18. 7
      src/QGCComboBox.h
  19. 12
      src/TerrainTile.cc
  20. 9
      src/Vehicle/MultiVehicleManager.h
  21. 2
      src/VehicleSetup/Bootloader.h
  22. 1
      src/comm/LinkConfiguration.h
  23. 5
      src/comm/LinkInterface.h
  24. 6
      src/comm/LinkManager.h
  25. 1
      src/comm/LogReplayLink.h
  26. 2
      src/comm/MAVLinkProtocol.h
  27. 1
      src/comm/SerialLink.h

1493
doc/Doxyfile

File diff suppressed because it is too large Load Diff

29
doc/README

@ -3,35 +3,12 @@ Linux/Mac OS X @@ -3,35 +3,12 @@ Linux/Mac OS X
To install doxygen:
$sudo apt-get install doxygen
If the above does not work go to:
http://www.stack.nl/~dimitri/doxygen/download.html for the correct download.
Then go to the following website for inforamtion on the install:
http://www.stack.nl/~dimitri/doxygen/install.html
doxyqml:
https://github.com/agateau/doxyqml
$sudo pip3 install doxyqml
Then to generate the html, run the following code while you are in the qgroundcontrol/doc directory:
$doxygen Doxyfile
The html file index.html should be in doc/html unless you chenged the output directory.
The other option for generating the documentation is to use the wizard:
$doxywizard &
doxywizard information:
http://www.stack.nl/~dimitri/doxygen/doxywizard_usage.html
Or go to the Doxygen Manual for information at the website noted below.
Windows
=======
Go to the following website for the correct download and follow the wizard to install:
http://www.stack.nl/~dimitri/doxygen/download.html
Run the wizard to generate the documentation.
Go to the website below or the Doxygen Manual for information on running doxywizard.
http://www.stack.nl/~dimitri/doxygen/doxywizard_usage.html
Doxygen Manual
==============
http://www.stack.nl/~dimitri/doxygen/

BIN
doc/graphs.graffle

Binary file not shown.

16
doc/links.md

@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
# Link Management
The LinkManager creates, configures and maintains communication links. Links are created either through the user
interface or programmatically. The LinkConfiguration base classs defines the means to configure a given link
while the LinkInterface exposes the link itself.
Link specializations such as UDPLink, TCPLink, SerialLink, etc. are implemented in their own derived classes as well
as their equivalent configuration derivations such as UDPConfiguration, TCPConfiguration, SerialConfiguration, etc.
Links are primarily responsible to send and receive (MAVLink) data to and from a vehicle. When data arrives, the link will emit a
LinkInterface::bytesReceived signal and when data needs to be sent back to a vehicle, the code uses its
LinkInterface::writeBytesSafe method.
<div align="center">
<img src="../links.svg">
</div>

120
doc/links.svg

@ -0,0 +1,120 @@ @@ -0,0 +1,120 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="60.25 139 567.25007 358.75" width="567.25007" height="358.75">
<defs>
<linearGradient x1="0" x2="1" id="Gradient" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#eee"/>
<stop offset="1" stop-color="#afafaf"/>
</linearGradient>
<linearGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(247.5 139.5) rotate(90) scale(90)"/>
<font-face font-family="Courier" font-size="12" units-per-em="1000" underline-position="-178.22266" underline-thickness="57.61719" slope="0" x-height="456.54297" cap-height="586.91406" ascent="753.90625" descent="-246.09375" font-weight="400">
<font-face-src>
<font-face-name name="Courier"/>
</font-face-src>
</font-face>
<linearGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(150.75 274.5) rotate(90) scale(90)"/>
<linearGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(342 274.5) rotate(90) scale(90)"/>
<linearGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(342 396) rotate(90) scale(90)"/>
<linearGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(150.75 396) rotate(90) scale(90)"/>
<font-face font-family="Helvetica Neue" font-size="12" panose-1="2 0 5 3 0 0 0 2 0 4" units-per-em="1000" underline-position="-100" underline-thickness="50" slope="0" x-height="517" cap-height="714" ascent="951.9958" descent="-212.99744" font-weight="400">
<font-face-src>
<font-face-name name="HelveticaNeue"/>
</font-face-src>
</font-face>
<linearGradient x1="0" x2="1" id="Gradient_2" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ff9691"/>
<stop offset=".45238096" stop-color="#eb7e79"/>
<stop offset="1" stop-color="#d56560"/>
</linearGradient>
<linearGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(471.00007 490.44024) rotate(-90) scale(40)"/>
<linearGradient x1="0" x2="1" id="Gradient_3" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#54ba6b"/>
<stop offset=".45238096" stop-color="#6dd98a"/>
<stop offset="1" stop-color="#84f8a8"/>
</linearGradient>
<linearGradient id="Obj_Gradient_7" xl:href="#Gradient_3" gradientTransform="translate(471.00007 389.25) rotate(90) scale(40)"/>
</defs>
<metadata> Produced by OmniGraffle 7.12.1
<dc:date>2020-02-01 16:33:59 +0000</dc:date>
</metadata>
<g id="Canvas_1" fill-opacity="1" fill="none" stroke="none" stroke-opacity="1" stroke-dasharray="none">
<title>Canvas 1</title>
<g id="Canvas_1: Layer 1">
<title>Layer 1</title>
<g id="Graphic_2">
<path d="M 166.5 139.5 L 328.5 139.5 C 333.47056 139.5 337.5 143.52944 337.5 148.5 L 337.5 220.5 C 337.5 225.47056 333.47056 229.5 328.5 229.5 L 166.5 229.5 C 161.52944 229.5 157.5 225.47056 157.5 220.5 L 157.5 148.5 C 157.5 143.52944 161.52944 139.5 166.5 139.5 Z" fill="url(#Obj_Gradient)"/>
<path d="M 166.5 139.5 L 328.5 139.5 C 333.47056 139.5 337.5 143.52944 337.5 148.5 L 337.5 220.5 C 337.5 225.47056 333.47056 229.5 328.5 229.5 L 166.5 229.5 C 161.52944 229.5 157.5 225.47056 157.5 220.5 L 157.5 148.5 C 157.5 143.52944 161.52944 139.5 166.5 139.5 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(162.5 177.5)" fill="black">
<tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="45.393555" y="11">LinkManager</tspan>
</text>
</g>
<g id="Graphic_6">
<path d="M 69.75 274.5 L 231.75 274.5 C 236.72056 274.5 240.75 278.52944 240.75 283.5 L 240.75 355.5 C 240.75 360.47056 236.72056 364.5 231.75 364.5 L 69.75 364.5 C 64.77944 364.5 60.75 360.47056 60.75 355.5 L 60.75 283.5 C 60.75 278.52944 64.77944 274.5 69.75 274.5 Z" fill="url(#Obj_Gradient_2)"/>
<path d="M 69.75 274.5 L 231.75 274.5 C 236.72056 274.5 240.75 278.52944 240.75 283.5 L 240.75 355.5 C 240.75 360.47056 236.72056 364.5 231.75 364.5 L 69.75 364.5 C 64.77944 364.5 60.75 360.47056 60.75 355.5 L 60.75 283.5 C 60.75 278.52944 64.77944 274.5 69.75 274.5 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(65.75 312.5)" fill="black">
<tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="23.79004" y="11">LinkConfiguration</tspan>
</text>
</g>
<g id="Graphic_9">
<path d="M 261 274.5 L 423 274.5 C 427.97056 274.5 432 278.52944 432 283.5 L 432 355.5 C 432 360.47056 427.97056 364.5 423 364.5 L 261 364.5 C 256.02944 364.5 252 360.47056 252 355.5 L 252 283.5 C 252 278.52944 256.02944 274.5 261 274.5 Z" fill="url(#Obj_Gradient_3)"/>
<path d="M 261 274.5 L 423 274.5 C 427.97056 274.5 432 278.52944 432 283.5 L 432 355.5 C 432 360.47056 427.97056 364.5 423 364.5 L 261 364.5 C 256.02944 364.5 252 360.47056 252 355.5 L 252 283.5 C 252 278.52944 256.02944 274.5 261 274.5 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(257 312.5)" fill="black">
<tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="38.192383" y="11">LinkInterface</tspan>
</text>
</g>
<g id="Graphic_11">
<path d="M 261 396 L 423 396 C 427.97056 396 432 400.02944 432 405 L 432 477 C 432 481.97056 427.97056 486 423 486 L 261 486 C 256.02944 486 252 481.97056 252 477 L 252 405 C 252 400.02944 256.02944 396 261 396 Z" fill="url(#Obj_Gradient_4)"/>
<path d="M 261 396 L 423 396 C 427.97056 396 432 400.02944 432 405 L 432 477 C 432 481.97056 427.97056 486 423 486 L 261 486 C 256.02944 486 252 481.97056 252 477 L 252 405 C 252 400.02944 256.02944 396 261 396 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(257 434)" fill="black">
<tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="59.7959" y="11">UDPLink</tspan>
</text>
</g>
<g id="Graphic_13">
<path d="M 69.75 396 L 231.75 396 C 236.72056 396 240.75 400.02944 240.75 405 L 240.75 477 C 240.75 481.97056 236.72056 486 231.75 486 L 69.75 486 C 64.77944 486 60.75 481.97056 60.75 477 L 60.75 405 C 60.75 400.02944 64.77944 396 69.75 396 Z" fill="url(#Obj_Gradient_5)"/>
<path d="M 69.75 396 L 231.75 396 C 236.72056 396 240.75 400.02944 240.75 405 L 240.75 477 C 240.75 481.97056 236.72056 486 231.75 486 L 69.75 486 C 64.77944 486 60.75 481.97056 60.75 477 L 60.75 405 C 60.75 400.02944 64.77944 396 69.75 396 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(65.75 434)" fill="black">
<tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="27.390625" y="11">UDPConfiguration</tspan>
</text>
</g>
<g id="Graphic_14">
<path d="M 516.00007 384.75 L 618.0001 384.75 C 622.9706 384.75 627.0001 388.77944 627.0001 393.75 L 627.0001 425.25 C 627.0001 430.22056 622.9706 434.25 618.0001 434.25 L 516.00007 434.25 C 511.0295 434.25 507.00007 430.22056 507.00007 425.25 L 507.00007 393.75 C 507.00007 388.77944 511.0295 384.75 516.00007 384.75 Z" fill="#c0ffc0"/>
<path d="M 516.00007 384.75 L 618.0001 384.75 C 622.9706 384.75 627.0001 388.77944 627.0001 393.75 L 627.0001 425.25 C 627.0001 430.22056 622.9706 434.25 618.0001 434.25 L 516.00007 434.25 C 511.0295 434.25 507.00007 430.22056 507.00007 425.25 L 507.00007 393.75 C 507.00007 388.77944 511.0295 384.75 516.00007 384.75 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(512.00007 395.332)" fill="black">
<tspan font-family="Helvetica Neue" font-size="12" font-weight="400" fill="black" x="38.446" y="11">Signal</tspan>
<tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="8.192383" y="25.336">bytesReceived</tspan>
</text>
</g>
<g id="Graphic_15">
<path d="M 516.00007 447.75 L 618.0001 447.75 C 622.9706 447.75 627.0001 451.77944 627.0001 456.75 L 627.0001 488.25 C 627.0001 493.22056 622.9706 497.25 618.0001 497.25 L 516.00007 497.25 C 511.0295 497.25 507.00007 493.22056 507.00007 488.25 L 507.00007 456.75 C 507.00007 451.77944 511.0295 447.75 516.00007 447.75 Z" fill="#ffc0c0"/>
<path d="M 516.00007 447.75 L 618.0001 447.75 C 622.9706 447.75 627.0001 451.77944 627.0001 456.75 L 627.0001 488.25 C 627.0001 493.22056 622.9706 497.25 618.0001 497.25 L 516.00007 497.25 C 511.0295 497.25 507.00007 493.22056 507.00007 488.25 L 507.00007 456.75 C 507.00007 451.77944 511.0295 447.75 516.00007 447.75 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(512.00007 458.332)" fill="black">
<tspan font-family="Helvetica Neue" font-size="12" font-weight="400" fill="black" x="34.324" y="11">Method</tspan>
<tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="4.591797" y="25.336">writeBytesSafe</tspan>
</text>
</g>
<g id="Graphic_16">
<path d="M 498.75013 460.44024 L 498.75013 480.44024 L 463.25 480.44024 L 463.25 490.44024 L 443.25 470.44024 L 463.25 450.44024 L 463.25 460.44024 Z" fill="url(#Obj_Gradient_6)"/>
<path d="M 498.75013 460.44024 L 498.75013 480.44024 L 463.25 480.44024 L 463.25 490.44024 L 443.25 470.44024 L 463.25 450.44024 L 463.25 460.44024 Z" stroke="#c01b00" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_17">
<path d="M 443.25 419.25 L 443.25 399.25 L 478.7501 399.25 L 478.7501 389.25 L 498.75013 409.25 L 478.7501 429.25 L 478.7501 419.25 Z" fill="url(#Obj_Gradient_7)"/>
<path d="M 443.25 419.25 L 443.25 399.25 L 478.7501 399.25 L 478.7501 389.25 L 498.75013 409.25 L 478.7501 429.25 L 478.7501 419.25 Z" stroke="#c01b00" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_42">
<path d="M 247.5 229.5 L 247.5 252 L 150.75 252 L 150.75 274.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_43">
<path d="M 247.5 229.5 L 247.5 252 L 342 252 L 342 274.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_45">
<line x1="150.75" y1="364.5" x2="150.75" y2="396" stroke="#7f8080" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_46">
<line x1="342" y1="364.5" x2="342" y2="396" stroke="#7f8080" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_47">
<line x1="240.75" y1="441" x2="252" y2="441" stroke="#7f8080" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

5
doc/qgroundcontrol.md

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
QGroundControl Architecture Documentation {#mainpage}
=========================================
* [Link Management](links.md)
* [Vehicle Management](vehicleMgmt.md)

BIN
doc/qgroundcontrol.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

14
doc/vehicleMgmt.md

@ -0,0 +1,14 @@ @@ -0,0 +1,14 @@
# Vehicle Management
The singleton MAVLinkProtocol implements the target slot for all LinkInterface::bytesReceived signals. As data is received, it parses and builds MAVLink messages.
All messages are then sent through a MAVLinkProcotol::messageReceived signal. In addition, when it detects a heartbeat message,
it emits MAVLinkProcotol::vehicleHeartbeatInfo signals.
The singleton MultiVehicleManager is responsible for creating and maintaining instances of the Vehicle class. When it receives a MAVLinkProcotol::vehicleHeartbeatInfo
signal for the first time, it creates a vehicle instance, recording the vehicle ID and the link used.
The Vehicle class holds all the functionality to handle vehicles. It receives all messages sent from the vehicle and manage all messages and commands to that vehicle.
<div align="center">
<img src="../vehicleMgmt.svg">
</div>

159
doc/vehicleMgmt.svg

@ -0,0 +1,159 @@ @@ -0,0 +1,159 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="12.94 656.44 683.5 436.25" width="683.5" height="436.25">
<defs>
<filter id="Shadow" filterUnits="userSpaceOnUse" x="12.94" y="656.44">
<feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="2.616"/>
<feOffset in="blur" result="offset" dx="1.44" dy="1.44"/>
<feFlood flood-color="black" flood-opacity=".5" result="flood"/>
<feComposite in="flood" in2="offset" operator="in" result="color"/>
<feMerge>
<feMergeNode in="color"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<linearGradient x1="0" x2="1" id="Gradient" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#eee"/>
<stop offset="1" stop-color="#afafaf"/>
</linearGradient>
<linearGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(358.50003 672.75) rotate(90) scale(90)"/>
<font-face font-family="Courier" font-size="12" units-per-em="1000" underline-position="-178.22266" underline-thickness="57.61719" slope="0" x-height="456.54297" cap-height="586.91406" ascent="753.90625" descent="-246.09375" font-weight="400">
<font-face-src>
<font-face-name name="Courier"/>
</font-face-src>
</font-face>
<font-face font-family="Helvetica Neue" font-size="12" panose-1="2 0 5 3 0 0 0 2 0 4" units-per-em="1000" underline-position="-100" underline-thickness="50" slope="0" x-height="517" cap-height="714" ascent="951.9958" descent="-212.99744" font-weight="400">
<font-face-src>
<font-face-name name="HelveticaNeue"/>
</font-face-src>
</font-face>
<linearGradient x1="0" x2="1" id="Gradient_2" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ff9691"/>
<stop offset=".45238096" stop-color="#eb7e79"/>
<stop offset="1" stop-color="#d56560"/>
</linearGradient>
<linearGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(221.99993 737.75) rotate(-90) scale(40)"/>
<linearGradient x1="0" x2="1" id="Gradient_3" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#54ba6b"/>
<stop offset=".45238096" stop-color="#6dd98a"/>
<stop offset="1" stop-color="#84f8a8"/>
</linearGradient>
<linearGradient id="Obj_Gradient_3" xl:href="#Gradient_3" gradientTransform="translate(489.00007 666) rotate(90) scale(40)"/>
<linearGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(358.50003 832.75) rotate(90) scale(90)"/>
<linearGradient id="Obj_Gradient_5" xl:href="#Gradient_3" gradientTransform="translate(489.00007 726.75) rotate(90) scale(40)"/>
<linearGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(221.99993 857.75) rotate(90) scale(40)"/>
<linearGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(358.50003 994.75) rotate(90) scale(90)"/>
<linearGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(221.99993 1019.75) rotate(90) scale(40)"/>
<linearGradient id="Obj_Gradient_9" xl:href="#Gradient_3" gradientTransform="translate(489.00007 1019.75) rotate(90) scale(40)"/>
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
<g>
<path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
</g>
</marker>
</defs>
<metadata> Produced by OmniGraffle 7.12.1
<dc:date>2020-02-01 16:48:51 +0000</dc:date>
</metadata>
<g id="Canvas_1" fill-opacity="1" fill="none" stroke="none" stroke-opacity="1" stroke-dasharray="none">
<title>Canvas 1</title>
<g id="Canvas_1: Layer 1">
<title>Layer 1</title>
<g id="Graphic_20" filter="url(#Shadow)">
<path d="M 277.50003 672.75 L 439.50003 672.75 C 444.4706 672.75 448.50003 676.7794 448.50003 681.75 L 448.50003 753.75 C 448.50003 758.7206 444.4706 762.75 439.50003 762.75 L 277.50003 762.75 C 272.52947 762.75 268.50003 758.7206 268.50003 753.75 L 268.50003 681.75 C 268.50003 676.7794 272.52947 672.75 277.50003 672.75 Z" fill="url(#Obj_Gradient)"/>
<path d="M 277.50003 672.75 L 439.50003 672.75 C 444.4706 672.75 448.50003 676.7794 448.50003 681.75 L 448.50003 753.75 C 448.50003 758.7206 444.4706 762.75 439.50003 762.75 L 277.50003 762.75 C 272.52947 762.75 268.50003 758.7206 268.50003 753.75 L 268.50003 681.75 C 268.50003 676.7794 272.52947 672.75 277.50003 672.75 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(273.50003 710.75)" fill="black">
<tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="30.99121" y="11">MAVLinkProtocol</tspan>
</text>
</g>
<g id="Graphic_22" filter="url(#Shadow)">
<path d="M 27 693 L 168.75 693 C 173.72056 693 177.75 697.0294 177.75 702 L 177.75 733.5 C 177.75 738.4706 173.72056 742.5 168.75 742.5 L 27 742.5 C 22.029437 742.5 18 738.4706 18 733.5 L 18 702 C 18 697.0294 22.029437 693 27 693 Z" fill="#ffc0c0"/>
<path d="M 27 693 L 168.75 693 C 173.72056 693 177.75 697.0294 177.75 702 L 177.75 733.5 C 177.75 738.4706 173.72056 742.5 168.75 742.5 L 27 742.5 C 22.029437 742.5 18 738.4706 18 733.5 L 18 702 C 18 697.0294 22.029437 693 27 693 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(23 703.582)" fill="black">
<tspan font-family="Helvetica Neue" font-size="12" font-weight="400" fill="black" x="64.321" y="11">Slot</tspan>
<tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="28.067383" y="25.336">bytesReceived</tspan>
</text>
</g>
<g id="Graphic_21" filter="url(#Shadow)">
<path d="M 194.24987 707.75 L 194.24987 727.75 L 229.75 727.75 L 229.75 737.75 L 249.75 717.75 L 229.75 697.75 L 229.75 707.75 Z" fill="url(#Obj_Gradient_2)"/>
<path d="M 194.24987 707.75 L 194.24987 727.75 L 229.75 727.75 L 229.75 737.75 L 249.75 717.75 L 229.75 697.75 L 229.75 707.75 Z" stroke="#c01b00" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_24" filter="url(#Shadow)">
<path d="M 538.5001 661.5 L 679.5 661.5 C 684.4706 661.5 688.5 665.5294 688.5 670.5 L 688.5 702 C 688.5 706.9706 684.4706 711 679.5 711 L 538.5001 711 C 533.5295 711 529.5001 706.9706 529.5001 702 L 529.5001 670.5 C 529.5001 665.5294 533.5295 661.5 538.5001 661.5 Z" fill="#c0ffc0"/>
<path d="M 538.5001 661.5 L 679.5 661.5 C 684.4706 661.5 688.5 665.5294 688.5 670.5 L 688.5 702 C 688.5 706.9706 684.4706 711 679.5 711 L 538.5001 711 C 533.5295 711 529.5001 706.9706 529.5001 702 L 529.5001 670.5 C 529.5001 665.5294 533.5295 661.5 538.5001 661.5 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(534.5001 672.082)" fill="black">
<tspan font-family="Helvetica Neue" font-size="12" font-weight="400" fill="black" x="57.94596" y="11">Signal</tspan>
<tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="2.488243" y="25.336">vehicleHeartbeatInfo</tspan>
</text>
</g>
<g id="Graphic_23" filter="url(#Shadow)">
<path d="M 461.25 696 L 461.25 676 L 496.7501 676 L 496.7501 666 L 516.7501 686 L 496.7501 706 L 496.7501 696 Z" fill="url(#Obj_Gradient_3)"/>
<path d="M 461.25 696 L 461.25 676 L 496.7501 676 L 496.7501 666 L 516.7501 686 L 496.7501 706 L 496.7501 696 Z" stroke="#c01b00" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_28" filter="url(#Shadow)">
<path d="M 277.50003 832.75 L 439.50003 832.75 C 444.4706 832.75 448.50003 836.7794 448.50003 841.75 L 448.50003 913.75 C 448.50003 918.7206 444.4706 922.75 439.50003 922.75 L 277.50003 922.75 C 272.52947 922.75 268.50003 918.7206 268.50003 913.75 L 268.50003 841.75 C 268.50003 836.7794 272.52947 832.75 277.50003 832.75 Z" fill="url(#Obj_Gradient_4)"/>
<path d="M 277.50003 832.75 L 439.50003 832.75 C 444.4706 832.75 448.50003 836.7794 448.50003 841.75 L 448.50003 913.75 C 448.50003 918.7206 444.4706 922.75 439.50003 922.75 L 277.50003 922.75 C 272.52947 922.75 268.50003 918.7206 268.50003 913.75 L 268.50003 841.75 C 268.50003 836.7794 272.52947 832.75 277.50003 832.75 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(273.50003 870.75)" fill="black">
<tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="16.588867" y="11">MultiVehicleManager</tspan>
</text>
</g>
<g id="Graphic_30" filter="url(#Shadow)">
<path d="M 538.5001 722.25 L 679.5 722.25 C 684.4706 722.25 688.5 726.2794 688.5 731.25 L 688.5 762.75 C 688.5 767.7206 684.4706 771.75 679.5 771.75 L 538.5001 771.75 C 533.5295 771.75 529.5001 767.7206 529.5001 762.75 L 529.5001 731.25 C 529.5001 726.2794 533.5295 722.25 538.5001 722.25 Z" fill="#c0ffc0"/>
<path d="M 538.5001 722.25 L 679.5 722.25 C 684.4706 722.25 688.5 726.2794 688.5 731.25 L 688.5 762.75 C 688.5 767.7206 684.4706 771.75 679.5 771.75 L 538.5001 771.75 C 533.5295 771.75 529.5001 767.7206 529.5001 762.75 L 529.5001 731.25 C 529.5001 726.2794 533.5295 722.25 538.5001 722.25 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(534.5001 732.832)" fill="black">
<tspan font-family="Helvetica Neue" font-size="12" font-weight="400" fill="black" x="57.94596" y="11">Signal</tspan>
<tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="20.491173" y="25.336">messageReceived</tspan>
</text>
</g>
<g id="Graphic_29" filter="url(#Shadow)">
<path d="M 461.25 756.75 L 461.25 736.75 L 496.7501 736.75 L 496.7501 726.75 L 516.7501 746.75 L 496.7501 766.75 L 496.7501 756.75 Z" fill="url(#Obj_Gradient_5)"/>
<path d="M 461.25 756.75 L 461.25 736.75 L 496.7501 736.75 L 496.7501 726.75 L 516.7501 746.75 L 496.7501 766.75 L 496.7501 756.75 Z" stroke="#c01b00" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_32" filter="url(#Shadow)">
<path d="M 27 853 L 167.99992 853 C 172.97048 853 176.99992 857.0294 176.99992 862 L 176.99992 893.5 C 176.99992 898.4706 172.97048 902.5 167.99992 902.5 L 27 902.5 C 22.029437 902.5 18 898.4706 18 893.5 L 18 862 C 18 857.0294 22.029437 853 27 853 Z" fill="#ffc0c0"/>
<path d="M 27 853 L 167.99992 853 C 172.97048 853 176.99992 857.0294 176.99992 862 L 176.99992 893.5 C 176.99992 898.4706 172.97048 902.5 167.99992 902.5 L 27 902.5 C 22.029437 902.5 18 898.4706 18 893.5 L 18 862 C 18 857.0294 22.029437 853 27 853 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(23 863.582)" fill="black">
<tspan font-family="Helvetica Neue" font-size="12" font-weight="400" fill="black" x="63.94596" y="11">Slot</tspan>
<tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="2.488243" y="25.336">vehicleHeartbeatInfo</tspan>
</text>
</g>
<g id="Graphic_31" filter="url(#Shadow)">
<path d="M 194.24987 887.75 L 194.24987 867.75 L 229.75 867.75 L 229.75 857.75 L 249.75 877.75 L 229.75 897.75 L 229.75 887.75 Z" fill="url(#Obj_Gradient_6)"/>
<path d="M 194.24987 887.75 L 194.24987 867.75 L 229.75 867.75 L 229.75 857.75 L 249.75 877.75 L 229.75 897.75 L 229.75 887.75 Z" stroke="#c01b00" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_34" filter="url(#Shadow)">
<path d="M 277.50003 994.75 L 439.50003 994.75 C 444.4706 994.75 448.50003 998.7794 448.50003 1003.75 L 448.50003 1075.75 C 448.50003 1080.7206 444.4706 1084.75 439.50003 1084.75 L 277.50003 1084.75 C 272.52947 1084.75 268.50003 1080.7206 268.50003 1075.75 L 268.50003 1003.75 C 268.50003 998.7794 272.52947 994.75 277.50003 994.75 Z" fill="url(#Obj_Gradient_7)"/>
<path d="M 277.50003 994.75 L 439.50003 994.75 C 444.4706 994.75 448.50003 998.7794 448.50003 1003.75 L 448.50003 1075.75 C 448.50003 1080.7206 444.4706 1084.75 439.50003 1084.75 L 277.50003 1084.75 C 272.52947 1084.75 268.50003 1080.7206 268.50003 1075.75 L 268.50003 1003.75 C 268.50003 998.7794 272.52947 994.75 277.50003 994.75 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(273.50003 1032.75)" fill="black">
<tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="59.7959" y="11">Vehicle</tspan>
</text>
</g>
<g id="Graphic_36" filter="url(#Shadow)">
<path d="M 27 1015 L 167.99992 1015 C 172.97048 1015 176.99992 1019.0294 176.99992 1024 L 176.99992 1055.5 C 176.99992 1060.4706 172.97048 1064.5 167.99992 1064.5 L 27 1064.5 C 22.029437 1064.5 18 1060.4706 18 1055.5 L 18 1024 C 18 1019.0294 22.029437 1015 27 1015 Z" fill="#ffc0c0"/>
<path d="M 27 1015 L 167.99992 1015 C 172.97048 1015 176.99992 1019.0294 176.99992 1024 L 176.99992 1055.5 C 176.99992 1060.4706 172.97048 1064.5 167.99992 1064.5 L 27 1064.5 C 22.029437 1064.5 18 1060.4706 18 1055.5 L 18 1024 C 18 1019.0294 22.029437 1015 27 1015 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(23 1025.582)" fill="black">
<tspan font-family="Helvetica Neue" font-size="12" font-weight="400" fill="black" x="63.94596" y="11">Slot</tspan>
<tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="20.491173" y="25.336">messageReceived</tspan>
</text>
</g>
<g id="Graphic_35" filter="url(#Shadow)">
<path d="M 194.24987 1049.75 L 194.24987 1029.75 L 229.75 1029.75 L 229.75 1019.75 L 249.75 1039.75 L 229.75 1059.75 L 229.75 1049.75 Z" fill="url(#Obj_Gradient_8)"/>
<path d="M 194.24987 1049.75 L 194.24987 1029.75 L 229.75 1029.75 L 229.75 1019.75 L 249.75 1039.75 L 229.75 1059.75 L 229.75 1049.75 Z" stroke="#c01b00" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_38" filter="url(#Shadow)">
<path d="M 538.5001 1015 L 679.5 1015 C 684.4706 1015 688.5 1019.0294 688.5 1024 L 688.5 1055.5 C 688.5 1060.4706 684.4706 1064.5 679.5 1064.5 L 538.5001 1064.5 C 533.5295 1064.5 529.5001 1060.4706 529.5001 1055.5 L 529.5001 1024 C 529.5001 1019.0294 533.5295 1015 538.5001 1015 Z" fill="#c0ffc0"/>
<path d="M 538.5001 1015 L 679.5 1015 C 684.4706 1015 688.5 1019.0294 688.5 1024 L 688.5 1055.5 C 688.5 1060.4706 684.4706 1064.5 679.5 1064.5 L 538.5001 1064.5 C 533.5295 1064.5 529.5001 1060.4706 529.5001 1055.5 L 529.5001 1024 C 529.5001 1019.0294 533.5295 1015 538.5001 1015 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(534.5001 1025.582)" fill="black">
<tspan font-family="Helvetica Neue" font-size="12" font-weight="400" fill="black" x="64.28196" y="11">Call</tspan>
<tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="24.09176" y="25.336">writeBytesSafe</tspan>
</text>
</g>
<g id="Graphic_39" filter="url(#Shadow)">
<path d="M 461.25 1049.75 L 461.25 1029.75 L 496.7501 1029.75 L 496.7501 1019.75 L 516.7501 1039.75 L 496.7501 1059.75 L 496.7501 1049.75 Z" fill="url(#Obj_Gradient_9)"/>
<path d="M 461.25 1049.75 L 461.25 1029.75 L 496.7501 1029.75 L 496.7501 1019.75 L 516.7501 1039.75 L 496.7501 1059.75 L 496.7501 1049.75 Z" stroke="#c01b00" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_48">
<line x1="358.50003" y1="922.75" x2="358.50003" y2="984.85" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB

2
src/Audio/AudioOutput.h

@ -19,6 +19,7 @@ @@ -19,6 +19,7 @@
class QGCApplication;
/// Text to Speech Interface
class AudioOutput : public QGCTool
{
Q_OBJECT
@ -29,6 +30,7 @@ public: @@ -29,6 +30,7 @@ public:
static QString fixTextMessageForAudio (const QString& string);
public slots:
/// Convert string to speech output and say it
void say (const QString& text);
private slots:

5
src/CmdLineOptParser.cc

@ -9,9 +9,8 @@ @@ -9,9 +9,8 @@
/// @file
/// @brief Command line option parser
///
/// @author Don Gagne <don@thegagnes.com>
/// @brief Command line option parser implementation
/// @author Don Gagne <don@thegagnes.com>
#include "CmdLineOptParser.h"

13
src/CmdLineOptParser.h

@ -9,20 +9,18 @@ @@ -9,20 +9,18 @@
/// @file
/// @brief Command line option parser
///
/// @author Don Gagne <don@thegagnes.com>
/// @brief Command line option parser declaration
/// @author Don Gagne <don@thegagnes.com>
#ifndef CMDLINEOPTPARSER_H
#define CMDLINEOPTPARSER_H
#pragma once
#include <QString>
#include <cstring>
/// @brief Structure used to pass command line options to the ParseCmdLineOptions function.
typedef struct {
const char* optionStr; ///< command line option, for example "--foo"
bool* optionFound; ///< if option is found this variable will be set to true
const char* optionStr; ///< Command line option, for example "--foo"
bool* optionFound; ///< If option is found this variable will be set to true
QString* optionArg; ///< Option has additional argument, form is option:arg
} CmdLineOpt_t;
@ -32,4 +30,3 @@ void ParseCmdLineOptions(int& argc, @@ -32,4 +30,3 @@ void ParseCmdLineOptions(int& argc,
size_t cOpts,
bool removeParsedOptions);
#endif

26
src/FirmwarePlugin/FirmwarePlugin.h

@ -126,7 +126,7 @@ public: @@ -126,7 +126,7 @@ public:
virtual QString gotoFlightMode(void) const;
/// Returns the flight mode which the vehicle will be for follow me
virtual QString followFlightMode(void) const { return QString(); };
virtual QString followFlightMode(void) const { return QString(); }
/// Set guided flight mode
virtual void setGuidedMode(Vehicle* vehicle, bool guidedMode);
@ -145,7 +145,7 @@ public: @@ -145,7 +145,7 @@ public:
virtual void guidedModeTakeoff(Vehicle* vehicle, double takeoffAltRel);
/// @return The minimum takeoff altitude (relative) for guided takeoff.
virtual double minimumTakeoffAltitude(Vehicle* vehicle) { Q_UNUSED(vehicle); return 10; }
virtual double minimumTakeoffAltitude(Vehicle* /*vehicle*/) { return 10; }
/// Command the vehicle to start the mission
virtual void startMission(Vehicle* vehicle);
@ -217,21 +217,21 @@ public: @@ -217,21 +217,21 @@ public:
virtual void getParameterMetaDataVersionInfo(const QString& metaDataFile, int& majorVersion, int& minorVersion);
/// Returns the internal resource parameter meta date file.
virtual QString internalParameterMetaDataFile(Vehicle* vehicle) { Q_UNUSED(vehicle); return QString(); }
virtual QString internalParameterMetaDataFile(Vehicle* /*vehicle*/) { return QString(); }
/// Loads the specified parameter meta data file.
/// @return Opaque parameter meta data information which must be stored with Vehicle. Vehicle is responsible to
/// call deleteParameterMetaData when no longer needed.
virtual QObject* loadParameterMetaData(const QString& metaDataFile) { Q_UNUSED(metaDataFile); return nullptr; }
virtual QObject* loadParameterMetaData(const QString& /*metaDataFile*/) { return nullptr; }
/// Returns the FactMetaData associated with the parameter name
/// @param opaqueParameterMetaData Opaque pointer returned from loadParameterMetaData
/// @param name Parameter name
virtual FactMetaData* getMetaDataForFact(QObject* parameterMetaData, const QString& name, MAV_TYPE vehicleType) { Q_UNUSED(parameterMetaData); Q_UNUSED(name); Q_UNUSED(vehicleType); return nullptr; }
virtual FactMetaData* getMetaDataForFact(QObject* /*parameterMetaData*/, const QString& /*name*/, MAV_TYPE /*vehicleType*/) { return nullptr; }
/// Adds the parameter meta data to the Fact
/// @param opaqueParameterMetaData Opaque pointer returned from loadParameterMetaData
virtual void addMetaDataToFact(QObject* parameterMetaData, Fact* fact, MAV_TYPE vehicleType) { Q_UNUSED(parameterMetaData); Q_UNUSED(fact); Q_UNUSED(vehicleType); return; }
virtual void addMetaDataToFact(QObject* /*parameterMetaData*/, Fact* /*fact*/, MAV_TYPE /*vehicleType*/) { return; }
/// List of supported mission commands. Empty list for all commands supported.
virtual QList<MAV_CMD> supportedMissionCommands(void);
@ -247,19 +247,19 @@ public: @@ -247,19 +247,19 @@ public:
virtual int remapParamNameHigestMinorVersionNumber(int majorVersionNumber) const;
/// @return true: Motors are coaxial like an X8 config, false: Quadcopter for example
virtual bool multiRotorCoaxialMotors(Vehicle* vehicle) { Q_UNUSED(vehicle); return false; }
virtual bool multiRotorCoaxialMotors(Vehicle* /*vehicle*/) { return false; }
/// @return true: X confiuration, false: Plus configuration
virtual bool multiRotorXConfig(Vehicle* vehicle) { Q_UNUSED(vehicle); return false; }
virtual bool multiRotorXConfig(Vehicle* /*vehicle*/) { return false; }
/// Return the resource file which contains the set of params loaded for offline editing.
virtual QString offlineEditingParamFile(Vehicle* vehicle) { Q_UNUSED(vehicle); return QString(); }
virtual QString offlineEditingParamFile(Vehicle* /*vehicle*/) { return QString(); }
/// Return the resource file which contains the brand image for the vehicle for Indoor theme.
virtual QString brandImageIndoor(const Vehicle* vehicle) const { Q_UNUSED(vehicle) return QString(); }
virtual QString brandImageIndoor(const Vehicle* /*vehicle*/) const { return QString(); }
/// Return the resource file which contains the brand image for the vehicle for Outdoor theme.
virtual QString brandImageOutdoor(const Vehicle* vehicle) const { Q_UNUSED(vehicle) return QString(); }
virtual QString brandImageOutdoor(const Vehicle* /*vehicle*/) const { return QString(); }
/// Return the resource file which contains the vehicle icon used in the flight view when the view is dark (Satellite for instance)
virtual QString vehicleImageOpaque(const Vehicle* vehicle) const;
@ -324,7 +324,7 @@ public: @@ -324,7 +324,7 @@ public:
/// Allows the Firmware plugin to override the facts meta data.
/// @param vehicleType - Type of current vehicle
/// @param metaData - MetaData for fact
virtual void adjustMetaData(MAV_TYPE vehicleType, FactMetaData* metaData) {Q_UNUSED(vehicleType); Q_UNUSED(metaData);}
virtual void adjustMetaData(MAV_TYPE /*vehicleType*/, FactMetaData* /*metaData*/) {}
/// Sends the appropriate mavlink message for follow me support
virtual void sendGCSMotionReport(Vehicle* vehicle, FollowMe::GCSMotionReport& motionReport, uint8_t estimatationCapabilities);
@ -345,7 +345,7 @@ protected: @@ -345,7 +345,7 @@ protected:
bool _setFlightModeAndValidate(Vehicle* vehicle, const QString& flightMode);
// returns url with latest firmware release information.
virtual QString _getLatestVersionFileUrl(Vehicle* vehicle) { Q_UNUSED(vehicle); return QString(); }
virtual QString _getLatestVersionFileUrl(Vehicle* /*vehicle*/) { return QString(); }
// Callback to process file with latest release information
virtual void _versionFileDownloadFinished(QString& remoteFile, QString& localFile, Vehicle* vehicle);

5
src/JsonHelper.h

@ -14,8 +14,13 @@ @@ -14,8 +14,13 @@
#include <QVariantList>
#include <QGeoCoordinate>
/// @file
/// @author Don Gagne <don@thegagnes.com>
class QmlObjectListModel;
/// @brief Json manipulation helper class.
/// Primarily used for parsing and processing Fact metadata.
class JsonHelper
{
public:

4
src/LogCompressor.cc

@ -10,9 +10,9 @@ @@ -10,9 +10,9 @@
/**
* @file
* @brief Implementation of class LogCompressor. This class reads in a file containing messages and translates it into a tab-delimited CSV file.
* @brief Implementation of class LogCompressor.
* This class reads in a file containing messages and translates it into a tab-delimited CSV file.
* @author Lorenz Meier <mavteam@student.ethz.ch>
*
*/
#include "LogCompressor.h"

21
src/LogCompressor.h

@ -1,8 +1,23 @@ @@ -1,8 +1,23 @@
#ifndef LOGCOMPRESSOR_H
#define LOGCOMPRESSOR_H
/****************************************************************************
*
* (c) 2009-2020 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
#pragma once
#include <QThread>
/**
* @file
* @brief Declaration of class LogCompressor.
* This class reads in a file containing messages and translates it into a tab-delimited CSV file.
* @author Lorenz Meier <mavteam@student.ethz.ch>
*/
class LogCompressor : public QThread
{
Q_OBJECT
@ -37,5 +52,3 @@ private: @@ -37,5 +52,3 @@ private:
void _signalCriticalError(const QString& msg);
};
#endif // LOGCOMPRESSOR_H

7
src/QGCComboBox.cc

@ -7,13 +7,6 @@ @@ -7,13 +7,6 @@
*
****************************************************************************/
/// @file
/// @brief Subclass of QComboBox. Mainly used for unit test so you can simulate a user selection
/// with correct signalling.
///
/// @author Don Gagne <don@thegagnes.com>
#include "QGCComboBox.h"
QGCComboBox::QGCComboBox(QWidget* parent) :

7
src/QGCComboBox.h

@ -7,9 +7,7 @@ @@ -7,9 +7,7 @@
*
****************************************************************************/
#ifndef QGCComboBox_H
#define QGCComboBox_H
#pragma once
#include <QComboBox>
@ -28,6 +26,3 @@ public: @@ -28,6 +26,3 @@ public:
/// @brief Sets the current index on the combo. Signals activated, as well as currentIndexChanged.
void simulateUserSetCurrentIndex(int index);
};
#endif

12
src/TerrainTile.cc

@ -1,3 +1,12 @@ @@ -1,3 +1,12 @@
/****************************************************************************
*
* (c) 2009-2020 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
#include "TerrainTile.h"
#include "JsonHelper.h"
#include "QGCMapEngine.h"
@ -7,7 +16,7 @@ @@ -7,7 +16,7 @@
#include <QJsonArray>
#include <QDataStream>
QGC_LOGGING_CATEGORY(TerrainTileLog, "TerrainTileLog")
QGC_LOGGING_CATEGORY(TerrainTileLog, "TerrainTileLog");
const char* TerrainTile::_jsonStatusKey = "status";
const char* TerrainTile::_jsonDataKey = "data";
@ -43,7 +52,6 @@ TerrainTile::~TerrainTile() @@ -43,7 +52,6 @@ TerrainTile::~TerrainTile()
}
}
TerrainTile::TerrainTile(QByteArray byteArray)
: _minElevation(-1.0)
, _maxElevation(-1.0)

9
src/Vehicle/MultiVehicleManager.h

@ -40,14 +40,15 @@ public: @@ -40,14 +40,15 @@ public:
Q_PROPERTY(bool activeVehicleAvailable READ activeVehicleAvailable NOTIFY activeVehicleAvailableChanged)
Q_PROPERTY(bool parameterReadyVehicleAvailable READ parameterReadyVehicleAvailable NOTIFY parameterReadyVehicleAvailableChanged)
/// The current, active vehicle
Q_PROPERTY(Vehicle* activeVehicle READ activeVehicle WRITE setActiveVehicle NOTIFY activeVehicleChanged)
/// The list of all connected vehicles
Q_PROPERTY(QmlObjectListModel* vehicles READ vehicles CONSTANT)
/// Enable sending heartbeats to the vehicle (defaults to true)
Q_PROPERTY(bool gcsHeartBeatEnabled READ gcsHeartbeatEnabled WRITE setGcsHeartbeatEnabled NOTIFY gcsHeartBeatEnabledChanged)
/// A disconnected vehicle used for offline editing. It will match the vehicle type specified in Settings.
Q_PROPERTY(Vehicle* offlineEditingVehicle READ offlineEditingVehicle CONSTANT)
//-- The current vehicle's last known location
/// The current vehicle's last known location
Q_PROPERTY(QGeoCoordinate lastKnownLocation READ lastKnownLocation NOTIFY lastKnownLocationChanged)
// Methods
@ -91,7 +92,9 @@ signals: @@ -91,7 +92,9 @@ signals:
void activeVehicleChanged (Vehicle* activeVehicle);
void gcsHeartBeatEnabledChanged (bool gcsHeartBeatEnabled);
void lastKnownLocationChanged ();
#ifndef DOXYGEN_SKIP
void _deleteVehiclePhase2Signal (void);
#endif
private slots:
void _deleteVehiclePhase1 (Vehicle* vehicle);

2
src/VehicleSetup/Bootloader.h

@ -20,7 +20,7 @@ @@ -20,7 +20,7 @@
#include <stdint.h>
/// Bootloader Utility routines. Works with PX4 bootloader and 3DR Radio bootloader.
/// Bootloader Utility routines. Works with PX4 and 3DR Radio bootloaders.
class Bootloader : public QObject
{
Q_OBJECT

1
src/comm/LinkConfiguration.h

@ -14,7 +14,6 @@ @@ -14,7 +14,6 @@
class LinkInterface;
/// Interface holding link specific settings.
class LinkConfiguration : public QObject
{
Q_OBJECT

5
src/comm/LinkInterface.h

@ -25,9 +25,8 @@ @@ -25,9 +25,8 @@
class LinkManager;
/**
* The link interface defines the interface for all links used to communicate
* with the groundstation application.
*
* @brief The link interface defines the interface for all links used to communicate
* with the ground station application.
**/
class LinkInterface : public QThread
{

6
src/comm/LinkManager.h

@ -44,7 +44,7 @@ class UDPConfiguration; @@ -44,7 +44,7 @@ class UDPConfiguration;
class AutoConnectSettings;
class LogReplayLink;
/// Manage communication links
/// @brief Manage communication links
///
/// The Link Manager organizes the physical Links. It can manage arbitrary
/// links and takes care of connecting them as well assigning the correct
@ -54,7 +54,7 @@ class LinkManager : public QGCTool @@ -54,7 +54,7 @@ class LinkManager : public QGCTool
{
Q_OBJECT
/// Unit Test has access to private constructor/destructor
// Unit Test has access to private constructor/destructor
friend class LinkManagerTest;
public:
@ -68,7 +68,7 @@ public: @@ -68,7 +68,7 @@ public:
Q_PROPERTY(QStringList serialPortStrings READ serialPortStrings NOTIFY commPortStringsChanged)
Q_PROPERTY(QStringList serialPorts READ serialPorts NOTIFY commPortsChanged)
// Create/Edit Link Configuration
/// Create/Edit Link Configuration
Q_INVOKABLE LinkConfiguration* createConfiguration (int type, const QString& name);
Q_INVOKABLE LinkConfiguration* startConfigurationEditing (LinkConfiguration* config);
Q_INVOKABLE void cancelConfigurationEditing (LinkConfiguration* config) { delete config; }

1
src/comm/LogReplayLink.h

@ -47,6 +47,7 @@ private: @@ -47,6 +47,7 @@ private:
QString _logFilename;
};
/// Pseudo link that reads a telemetry log and feeds it into the application.
class LogReplayLink : public LinkInterface
{
Q_OBJECT

2
src/comm/MAVLinkProtocol.h

@ -35,7 +35,7 @@ Q_DECLARE_LOGGING_CATEGORY(MAVLinkProtocolLog) @@ -35,7 +35,7 @@ Q_DECLARE_LOGGING_CATEGORY(MAVLinkProtocolLog)
*
* MAVLink is a generic communication protocol for micro air vehicles.
* for more information, please see the official website.
* @ref http://pixhawk.ethz.ch/software/mavlink/
* @ref https://mavlink.io
**/
class MAVLinkProtocol : public QGCTool
{

1
src/comm/SerialLink.h

@ -43,6 +43,7 @@ Q_DECLARE_METATYPE(QSerialPort::SerialPortError) @@ -43,6 +43,7 @@ Q_DECLARE_METATYPE(QSerialPort::SerialPortError)
Q_DECLARE_LOGGING_CATEGORY(SerialLinkLog)
/// SerialLink configuration
class SerialConfiguration : public LinkConfiguration
{
Q_OBJECT

Loading…
Cancel
Save