- Allows operator to close/open the gripper using a button assigned
- Rename Gripper Grab/Release into Close/Open for clarity
- Add comments regarding Gripper functionality
Expose MAV_CMD_DO_GRIPPER Mission item to Mission planning GUI and
update the name shown to the user
This is used for the Package Delivery feature of PX4
The build process installed the SDL2 framework at
Frameworks/SDL2.Framework
but in MacOS 12.6 this seems to matter because the correct name
that is stored in the QGroundControl binary is
Frameworks/SDL2.framework
This patch stores the SDL2 framework at the correct place that
fits to the location stored in the binary.
Thanks to krl91 who figured out the problem.
Closes: #10435
The postinstaller setup was not working in Qt Creator when
you build twice with config "install" because the directories and files already
exist. This patch deletes possible files such that the build does
not fail.
Comm Links UI was not updating the enabled property of the Disconnect button after
being successfully disconnected, this is due to shared_ptr being automatically cleaned
up and no signal back to the UI on the change of the link state. Addition of signal
emission from qml disconnect method is a bandaid that works.
Without the patch the FTPManager is stuck when an EOF NAK is
received out of sequence in a burst transmission, e.g.
when the previous data packet is lost. With the EOF the
server will stop further transmissions but the client is
not waiting on anything.
Now the burst is restarted at the last received offset.
Closes: #10418
Ardupilot supports parameter download via a parameter file with
reduced size. This parameterfile is generated on the fly in
the vehicle with a size that dependes on block size of the ftp
transfer. I added the file to the MocklinkFTP. The file is the
original binary file from Arduplane 4.2 SITL simulation.
APM vehicles support a binary parameter download
via ftp which is much faster than the conventional
parameter download. This patch adds support for
downloading and parsing the parameterfile. The
parameters are injected in the factsystem. If the
ftp download does not work, the conventional
parameter download is used as fallback.
In the majority of failures the ftp manager only stops with
"Download failed". I added more detailed results available from
the transfer, e.g. "File not found".
The APM Vehicle responds with a fixed and wrong filesize in
the MAVFTP read request response. The reason is a dynamic
file creation on the vehicle. I add an option to ignore
the filesize indicated by the vehicle for a successfull transfer.
Ramon suggested to enable the ftp parameterdownload only
for APM vehicles. The ftp download only requests parameters
for component MAV_COMP_ID_AUTOPILOT1 for APM vehicles.
Ardupilot does not support the MAVLINK_MSG_ID_PROTOCOL_VERSION.
When this is attempted QGC assumes that Ardupilot does not support
the geofence and rally download. So this is skipped to make fence
and rally download work.
In #9440 the video streaming failed for some cameras and the
bunny example RTSP streaming movie. This worked in 4.0.6 and it
did not work anymore in 4.1.0. The same unstable behaviour is
observed in #10396.
The gstreamer rtsp source will
switch to tcp when no data is received via udp after 5 seconds.
The default timeout for the gstreamer video receiver is 2 seconds
resulting in a permanent teardown and restart until
eventually some data is received. As far as I understood the code
4.0.6 did not have a timeout which is in 4.1.0. I change the
timeout for RTSP to 8 seconds and leave it at 2 seconds for the
other streams. With 8 seconds timeout I can receive the bunny
example without problems.
Closes: #9440
`apt` complains loudly:
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
We can use `apt-get` instead to avoid this warning.
When building on the master branch, the android keystore password
is available. Building on a pullrequest or in a forked repository,
the android keystore password is not available.
With the current build structure the "package" directory is
created twice when the android keystore password is available
resulting in a clash and build failure.
I changed the build structure such that correct builds are
created for the two cases with and without the android keystore
password.
* install and use NDK r21e
* update QT install action from v2 to v3
Starting with NDK Version r24 llvm will not accept one-dash
long options anymore. This is bug QTBUG-104580
https://bugreports.qt.io/browse/QTBUG-104580
The r23c NDK version did not work due to issues with
stripping symbols. So I install and use r21e. QT 5.15.2 uses
gradle version 5.6.4 with the default android gradle plugin 3.6.0.
With gradle 6.9.2 and android gradle plugin 4.2.2 the 32bits
build worked. NDK r22b is not compatible with gstreamer 1.18 and
results in a failing 64bit build. Therefore r21e is required for
gstreamer support.
Closes: #10360
The Android build on CI failed with the following error
message:
../../qgroundcontrol/qgroundcontrol/src/QtLocationPlugin/QGCTileCacheWorker.cpp:510:21: error: variable 'tileCount' set but not used [-Werror,-Wunused-but-set-variable]
221
quint64 tileCount = 0;
The tileCount variable is not used. I removed the variable.
The compilation on MacOS stops with the following compile error:
/Users/fritz/searchwing/qgroundcontrol/src/Vehicle/Actuators/Actuators.cc:431:26: error: loop variable 'parameterJson' is always a copy because the range of type 'QJsonArray' does not return a reference [-Werror,-Wrange-loop-analysis]
for (const auto& parameterJson : parameters) {