Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port to master remaining items from 4.4 #11696

Merged
merged 40 commits into from
Aug 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
d7bd006
QGCButton.qml: add fontWeight property
Davidsastresas Mar 15, 2024
7205a07
MainRootWindow.qml: indicator popup, allow to not dim background
Davidsastresas Mar 15, 2024
946c0d5
ToolStrip.qml: expose fontSize for ToolStripHoverButton
Davidsastresas Mar 17, 2024
6985f1b
GimbalController and GimbalControllerSettings: first commit
Davidsastresas Mar 9, 2024
90eb6cb
QGCApplication.cc: add GimbalController and register to qml
Davidsastresas Mar 9, 2024
4293dd2
Vehicle: add gimbalController, and move gimbal functionality there:
Davidsastresas Aug 4, 2024
6993ce7
resources: add new icon for gimbal indicator, artwork by Alex de la T…
Davidsastresas Mar 17, 2024
4b09291
qgcresources.qrc: add new icon for gimbal indicator
Davidsastresas Mar 17, 2024
298e533
GimbalIndicator.qml: first commit
Davidsastresas Mar 17, 2024
a6ff390
FirmwarePlugin.cc: add gimbalIndicator to toolIndicators
Davidsastresas Mar 16, 2024
e94771f
VehicleMapItem.qml: add gimbal yaw indicator over map
Davidsastresas Mar 17, 2024
1177f0d
OnScreenGimbalController.qml: first commit, process onscreen mouse ac…
Davidsastresas Mar 19, 2024
20b1c6f
FlyviewVideo.qml: add OnScreenGimbalController for gimbal mouse actio…
Davidsastresas Mar 19, 2024
4323d2a
QGCButton.qml: expose label fointsize as property
Davidsastresas Jul 22, 2024
d19ba6d
MainRootWindow.qml: fix indicator popups top margin:
Davidsastresas Jul 22, 2024
b10285d
VideoManager.cc: fix compilation warning
Davidsastresas Jul 22, 2024
c39fe3a
InstrumentValueIcons: add 2 new icons for gimbal telemetry, artwork b…
Davidsastresas Mar 17, 2024
92e61e3
Joystick: fix gimbal control and add some new button actions for gimb…
Davidsastresas Mar 9, 2024
57dac30
FlyViewMap.qml: ROI edit click area ocupying all the label:
Davidsastresas Mar 19, 2024
519217a
Vehicle: add roiCoordChanged signal:
Davidsastresas Mar 19, 2024
7cb1765
FlyViewMap.qml: connect roilocationitem to vehicle roiCoordChanged:
Davidsastresas Mar 19, 2024
907e265
GimbalController.cc: send NAN instead of 0 when rates are not used
Davidsastresas Mar 28, 2024
dbb257f
GimbalControllerSettings: Add setting to show or not Acquire/release …
Davidsastresas Mar 28, 2024
7cf3a61
GimbalIndicator.qml: Add Acquire/release control button
Davidsastresas Mar 28, 2024
b9fe581
FlyViewVideo.qml, OnScreenGimbalController.qml: fix conflict with tra…
Davidsastresas Mar 28, 2024
bfab036
Vehicle: independent function to delete gimbal controller, needed for…
Davidsastresas Apr 8, 2024
38e379e
RequestMessageTest.cc: disable vehicle gimbal controller on this test:
Davidsastresas Apr 8, 2024
86278ab
SendMavCommandWithSignallingTest.cc: ignore MAV_CMD_REQUEST_MESSAGE:
Davidsastresas Apr 8, 2024
0417d58
GimbalController: start handshake only after parameters are donwloaded:
Davidsastresas May 20, 2024
1d91745
GimbalController: Limit how fast we send gimbal status message request:
Davidsastresas May 20, 2024
0ad8a3d
Camera: switch to new REQUEST_MESSAGE commands
julianoes May 30, 2024
85e0eae
Camera: allow camera managed by an autopilot
julianoes May 30, 2024
bfd06fd
Vehicle: fix unit tests after camera change
julianoes May 31, 2024
68ce9bf
Camera: video stream request fixup
julianoes Jun 2, 2024
59b0148
QGCCameraManager.cc: change log from qWarning to CameraManagerLog:
Davidsastresas Jun 3, 2024
f0aba63
Gimbal: ignore invalid gimbal_device_id
julianoes Jul 24, 2024
cc2e257
Gimbal: Reference gimbal with manager + device IDs
julianoes Jul 26, 2024
5bb0644
Gimbal: fix yaw calculation
julianoes Jul 26, 2024
96f2b4f
Gimbal: send commands to gimbal component
julianoes Jul 26, 2024
af06849
CMake: Fix GimbalController Linking
HTRamsey Jul 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions qgcresources.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -108,4 +108,7 @@
<qresource prefix="/opengl">
<file>resources/opengl/buglist.json</file>
</qresource>
<qresource prefix="/gimbal">
<file alias="payload.svg">resources/gimbal/payload.svg</file>
</qresource>
</RCC>
4 changes: 4 additions & 0 deletions qgroundcontrol.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
<file alias="TelemetryRSSIIndicator.qml">src/UI/toolbar/TelemetryRSSIIndicator.qml</file>
<file alias="VTOLModeIndicator.qml">src/UI/toolbar/VTOLModeIndicator.qml</file>
<file alias="APMSupportForwardingIndicator.qml">src/UI/toolbar/APMSupportForwardingIndicator.qml</file>
<file alias="GimbalIndicator.qml">src/UI/toolbar/GimbalIndicator.qml</file>
</qresource>
<qresource prefix="/checklists">
<file alias="DefaultChecklist.qml">src/FlightDisplay/DefaultChecklist.qml</file>
Expand Down Expand Up @@ -232,6 +233,7 @@
<file alias="QGroundControl/FlightDisplay/FlyViewToolStripActionList.qml">src/FlightDisplay/FlyViewToolStripActionList.qml</file>
<file alias="QGroundControl/FlightDisplay/FlyViewTopRightColumnLayout.qml">src/FlightDisplay/FlyViewTopRightColumnLayout.qml</file>
<file alias="QGroundControl/FlightDisplay/FlyViewVideo.qml">src/FlightDisplay/FlyViewVideo.qml</file>
<file alias="QGroundControl/FlightDisplay/OnScreenGimbalController.qml">src/FlightDisplay/OnScreenGimbalController.qml</file>
<file alias="QGroundControl/FlightDisplay/FlyViewWidgetLayer.qml">src/FlightDisplay/FlyViewWidgetLayer.qml</file>
<file alias="QGroundControl/FlightDisplay/GuidedActionActionList.qml">src/FlightDisplay/GuidedActionActionList.qml</file>
<file alias="QGroundControl/FlightDisplay/GuidedActionConfirm.qml">src/FlightDisplay/GuidedActionConfirm.qml</file>
Expand Down Expand Up @@ -410,9 +412,11 @@
<file alias="Vehicle/HygrometerFact.json">src/Vehicle/FactGroups/HygrometerFact.json</file>
<file alias="Vehicle/GeneratorFact.json">src/Vehicle/FactGroups/GeneratorFact.json</file>
<file alias="Vehicle/EFIFact.json">src/Vehicle/FactGroups/EFIFact.json</file>
<file alias="Vehicle/GimbalFact.json">src/Gimbal/GimbalFact.json</file>
<file alias="Video.SettingsGroup.json">src/Settings/Video.SettingsGroup.json</file>
<file alias="VTOLLandingPattern.FactMetaData.json">src/MissionManager/VTOLLandingPattern.FactMetaData.json</file>
<file alias="Viewer3D.SettingsGroup.json">src/Settings/Viewer3D.SettingsGroup.json</file>
<file alias="GimbalController.SettingsGroup.json">src/Settings/GimbalController.SettingsGroup.json</file>
</qresource>
<qresource prefix="/MockLink">
<file alias="APMArduSubMockLink.params">src/Comms/MockLink/APMArduSubMockLink.params</file>
Expand Down
2 changes: 2 additions & 0 deletions resources/InstrumentValueIcons/InstrumentValueIcons.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -298,5 +298,7 @@
<file alias="buoy.svg">buoy.svg</file>
<file alias="cheveron-down.svg">cheveron-down.svg</file>
<file alias="view-tile.svg">view-tile.svg</file>
<file alias="gimbal-1.svg">gimbal-1.svg</file>
<file alias="gimbal-2.svg">gimbal-2.svg</file>
</qresource>
</RCC>
24 changes: 24 additions & 0 deletions resources/InstrumentValueIcons/gimbal-1.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
31 changes: 31 additions & 0 deletions resources/InstrumentValueIcons/gimbal-2.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
38 changes: 38 additions & 0 deletions resources/gimbal/payload.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ add_subdirectory(FirmwarePlugin)
# add_subdirectory(FlightMap)
add_subdirectory(FollowMe)
add_subdirectory(Geo)
add_subdirectory(Gimbal)
add_subdirectory(GPS)
add_subdirectory(Joystick)
add_subdirectory(MAVLink)
Expand Down Expand Up @@ -76,6 +77,7 @@ target_link_libraries(QGC
# FlightMap
# FlightDisplay
FollowMe
Gimbal
GPS
Joystick
MAVLink
Expand Down
31 changes: 21 additions & 10 deletions src/Camera/QGCCameraManager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,8 @@ void QGCCameraManager::_vehicleReady(bool ready)
void QGCCameraManager::_mavlinkMessageReceived(const mavlink_message_t& message)
{
//-- Only pay attention to camera components, as identified by their compId
if(message.sysid == _vehicle->id() && (message.compid >= MAV_COMP_ID_CAMERA && message.compid <= MAV_COMP_ID_CAMERA6)) {
if(message.sysid == _vehicle->id() && (message.compid == MAV_COMP_ID_AUTOPILOT1 ||
(message.compid >= MAV_COMP_ID_CAMERA && message.compid <= MAV_COMP_ID_CAMERA6))) {
switch (message.msgid) {
case MAVLINK_MSG_ID_CAMERA_CAPTURE_STATUS:
_handleCaptureStatus(message);
Expand Down Expand Up @@ -127,7 +128,7 @@ void QGCCameraManager::_handleHeartbeat(const mavlink_message_t &message)
pInfo->lastHeartbeat.start();
_cameraInfoRequest[sCompID] = pInfo;
//-- Request camera info
_requestCameraInfo(message.compid);
_requestCameraInfo(message.compid, pInfo->tryCount);
} else {
if(_cameraInfoRequest[sCompID]) {
CameraStruct* pInfo = _cameraInfoRequest[sCompID];
Expand All @@ -141,12 +142,12 @@ void QGCCameraManager::_handleHeartbeat(const mavlink_message_t &message)
if(pInfo->tryCount > 10) {
if(!pInfo->gaveUp) {
pInfo->gaveUp = true;
qWarning() << "Giving up requesting camera info from" << _vehicle->id() << message.compid;
qCDebug(CameraManagerLog) << "Giving up requesting camera info from" << _vehicle->id() << message.compid;
}
} else {
pInfo->tryCount++;
//-- Request camera info again.
_requestCameraInfo(message.compid);
_requestCameraInfo(message.compid, pInfo->tryCount);
}
}
}
Expand Down Expand Up @@ -398,15 +399,25 @@ QGCCameraManager::_handleTrackingImageStatus(const mavlink_message_t& message)

//-----------------------------------------------------------------------------
void
QGCCameraManager::_requestCameraInfo(int compID)
QGCCameraManager::_requestCameraInfo(int compID, int tryCount)
{
qCDebug(CameraManagerLog) << "_requestCameraInfo(" << compID << ")";
if(_vehicle) {
_vehicle->sendMavCommand(
compID, // target component
MAV_CMD_REQUEST_CAMERA_INFORMATION, // command id
false, // showError
1); // Do Request
// The MAV_CMD_REQUEST_CAMERA_INFORMATION command is deprecated, so we
// only fall back to it on the second and every other try.
if (tryCount % 2 == 0) {
_vehicle->sendMavCommand(
compID, // target component
MAV_CMD_REQUEST_MESSAGE, // command id
false, // showError
MAVLINK_MSG_ID_CAMERA_INFORMATION); // msgid
} else {
_vehicle->sendMavCommand(
compID, // target component
MAV_CMD_REQUEST_CAMERA_INFORMATION, // command id
false, // showError
1); // Do Request
}
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/Camera/QGCCameraManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ protected slots:

protected:
virtual MavlinkCameraControl* _findCamera(int id);
virtual void _requestCameraInfo (int compID);
virtual void _requestCameraInfo (int compID, int tryCount);
virtual void _handleHeartbeat (const mavlink_message_t& message);
virtual void _handleCameraInfo (const mavlink_message_t& message);
virtual void _handleStorageInfo (const mavlink_message_t& message);
Expand Down
Loading
Loading