This new host is different to the standard mavlink forwarding
one because it is meant to get disconnected when QGC closes
so the users don't leave by mistake the connection to the
support servers opened
This commit adds support for setting home clicking on map.
It is shown as another action in the submenu when we click
over the map with an active vehicle online.
As per mavlink specs, this command must use AMSL altitude,
so we need to first query terrain altitude, and when received
send the command.
Several checks have been implemented, and in case terrain
altitude is not shown at the selected location a popup will
appear indicating there are no terrain data for the specified location
There was a bug scaling rc rssi from rc_channels mavlink
message where it was scaled to 0-100 from 0-255, and this
was wrong because 255 is meant to be invalid, and AP uses
0-254 anyway. We must leave 255 as it is so the frontend
can understand if we don't have data.
Also, in RCRSSIIndicator, we don't show the indicator anymore
if data is not valid, there is no point
Now the user can release and grab the gripper while the UAV has
motors armed with the action button and also while the motors are
disarmed in a specific toolbar option.
Resolve of mavlink#10666, while the QGC window is resizing, both virtual
joysticks are not centered causing dangerous behavior. Now, if the screen
size is changed, both joysticks will be centered while the screen resize
is stopped.
In the edge scenario where we set video view in full screen
and for some reason QGC brings us to setup view ( if the
vehicle has calibration/setup pending ) the toolbar would
dissapear, thus not being able to get out of that state
All this remote id feature depends on a device being detected
so it makes sense to not show the rest of the flags until
a healthy connection has been detected.
Also change label from RID COMMS to NOT CONNECTED when there is
no RID connection, so it is more descriptive to the user.
TimeToHome fact calculates the time in seconds till the UAV reaches the
home position. We take the distance to home and divide it by the
current ground speed to get the seconds till we arrive at the home
point. I did not add any fancy logic to find out if we actually fly
towards the home point or are in RTL so the value shows increasing
seconds even if we fly away from the home point
Selecting terrain data on surverys was generating an empty survey if the polygon
was on an area where QGC doesn't have terrain height info about.
This is because QGC was waiting on terrain info to build the path on such surveys,
which is not needed at all, because terrain frame just specifies an altitude above
terrain, and relies on the vehicle for being able to calculate that height, by terrain
database or by altitude sensors, having terrain height information is not needed at all
to generate this kind of surveys
This fixes the warning that I get with GCC 11.3:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:34:
warning: ‘__builtin_strncpy’ writing 50 bytes into a region of size 24 overflows the destination [-Wstringop-overflow=]
95 | return __builtin___strncpy_chk (__dest, __src, __len,
| ^
/usr/include/x86_64-linux-gnu/bits/string_fortified.h: In member function ‘_handleStatusText’:
../Qt/5.15.2/gcc_64/include/QtCore/qarraydata.h:129:8: note: destination object ‘<anonymous>’ of size 24
129 | struct QTypedArrayData
| ^
Signed-off-by: Julian Oes <julian@oes.ch>