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

[Hold for 4.2] add pseudo oblique function to CMD 206 CAM_TRIGG_DIST #9103

Draft
wants to merge 83 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
8ada2a0
add pseudo oblique function to CMD 206 CAM_TRIGG_DIST
igorsgcampos Oct 8, 2020
0d781c5
add Camera Auto Mount Pseudo Oblique Solution (CAMPOS) to Survey planner
igorsgcampos Oct 14, 2020
94a08a4
add MissionItem for Camera Auto Mount Pseudo Oblique Mode (CAMPOS)
igorsgcampos Oct 14, 2020
1cf67b4
update to match new feature as a new mavlink command Oblique Survey 260
igorsgcampos Nov 12, 2020
100c8ca
adjust descriptions
igorsgcampos Nov 12, 2020
51a2f47
implement height(GSD,sidelap,camera) calculation for CAMPOS mode.
igorsgcampos Nov 13, 2020
72ff24f
change sign of pitch angle to match existing standard
igorsgcampos Nov 24, 2020
d56c8f7
add OBLIQUE_SURVEY to supported list in APM
igorsgcampos Dec 2, 2020
4649c96
add support to MIN_INTERVAL parameter of CMD260
igorsgcampos Dec 2, 2020
832610c
add items to set camera pitch before (-90) and after (0) survey.
igorsgcampos Dec 7, 2020
d119e6f
add GoPro Hero 3+ (Black) camera
igorsgcampos Dec 7, 2020
8dc90af
update tests to account for do_mount_control commands at beginning/end
igorsgcampos Dec 19, 2020
0969b89
fix command id to DO_MOUNT_CONTROL
igorsgcampos Dec 19, 2020
69f13fe
fix: using the pitch parameter correctly to control the mount
igorsgcampos Dec 24, 2020
0cc9059
add CAMPOS descriptions
igorsgcampos Jan 26, 2021
3939fda
append gimbal angles to (0,0,0) after last turnaround.
igorsgcampos Jan 27, 2021
2b19eeb
simplify logic to add trailing DO_MOUNT_CONTROL to (0,0,0)
igorsgcampos Jan 27, 2021
410234a
fix logic for tests, accounting for DO_MOUNT_CONTROL at begin/end
igorsgcampos Jan 27, 2021
c214c43
add radio buttons to select survey type.
igorsgcampos Jan 27, 2021
2c9b776
cleanup of item count for better readability.
igorsgcampos Jan 28, 2021
023a4e4
fix Survey2D type to bool
igorsgcampos Feb 1, 2021
ef64933
github: macos_release: Use official gstreamer pkg
patrickelectric Feb 24, 2022
8760e4a
QGCPostLinkInstaller: Fix mac deployment
patrickelectric Feb 24, 2022
f3861fe
VideoReceiver: Fix gstreamer lflags
patrickelectric Feb 24, 2022
00da605
VideoManager: Fix UDP url source
patrickelectric Feb 24, 2022
e9c91d2
Implement SimpleAccelCal for Ardupilot Vehicles (#10111)
Williangalvani Jan 11, 2022
cdf1a98
JoystikcConfigButtons.qml: Allow using QGC functions AND firmware fun…
Williangalvani Mar 6, 2021
1badcb2
JoystickConfigButtons.qml: fix layout
Williangalvani Mar 6, 2021
e9ea6a0
JoystickConfigButton.qml: unify joystick controls
Williangalvani Mar 8, 2021
dd66f0b
JoystickconfigButtons: add label saying shift functions are not useab…
Williangalvani Dec 23, 2021
cd6943f
JoystickconfigButtons: only provide camera/gimbal qgc functions for sub
Williangalvani Jan 7, 2022
47cc7f5
Update ArduSub 4.1 metadata
Williangalvani Jan 13, 2022
1f9bf04
Update ArduRover 4.1 metadata
Williangalvani Jan 13, 2022
c6097c9
Do not load Read-only parameters for ardupilot
Williangalvani Jan 14, 2022
5329a65
APMSensorIdDecoder: create it
Williangalvani Dec 20, 2021
e5b1669
ApmSensorComponent.qml: allow changing compass priority without calib…
Williangalvani Dec 20, 2021
3cde975
ApmSensorComponent.qml: setup priority comboboxes even if they are no…
Williangalvani Dec 20, 2021
a4d5e48
ApmSensorComponent.qml: show compass device in calibration list
Williangalvani Dec 20, 2021
293c3f4
APMSensorsComponentSummary: fix compass priorirty
Williangalvani Dec 23, 2021
30d96a1
APMSensorParams: add INS and BARO params
Williangalvani Jan 7, 2022
b4193ac
APMSensorsComponentSummary: add INS and BARO
Williangalvani Jan 10, 2022
f2f6fe3
Implement fast compass calibration for Ardupilot Vehicles
Williangalvani Jan 11, 2022
6a4de0a
JoystickConfigButtons.qml: fix indexing of firmware functions
Williangalvani Mar 9, 2022
0ba17e4
PhotoVideoControl.qml: hide timer if camera doesn't support video cap…
Williangalvani Apr 22, 2022
b3a01d2
APMSubFrameComponent: do not show paramter-loading dialog if the firm…
Williangalvani Apr 28, 2022
fa3d60c
Vehicle: create '_commandCanBeDuplicated()', use for MOTOR_TEST
Williangalvani May 18, 2022
0931e81
APMPowerComponent.qml: add new entry for BR PM on Navigator
Williangalvani May 18, 2022
d87e419
Fix Joystick Button Count
Mar 23, 2022
f843001
APMSensorsComponent: only show fast accel cal option when doing accel…
Williangalvani Jan 17, 2022
12a6930
Added exceptions for features not supported by APM 4.1 earlier (#10131)
WTPENGUIN Feb 8, 2022
17791b1
APMSafetyComponentSub.qml: warn user if params are unavailable due to…
Williangalvani Jun 3, 2022
6c286df
ApmSensorParams.qml: check if ins parameters exist
Williangalvani Jun 3, 2022
8207af5
ParameterEditorController: fix incorrect cast
bkueng Mar 2, 2022
05be71a
Update Pixhawk FMUv6C vendor id
mrpollo May 19, 2022
81f6532
Add FMUv6C to FirmwareUpgradeController.cc
vincentpoont2 May 28, 2022
fca02e7
github: workflows: macos_release: Fix mac build
patrickelectric Oct 21, 2022
07d8d59
QtLocationPlugin: QGCTileCacheWorker: Remove unused tileCount
patrickelectric Oct 21, 2022
5c89a8e
github: android_*: Update to use latest Qt action
patrickelectric Oct 21, 2022
180e00a
PositionManager: set UERE to enable position accuracy reporting
booo Aug 22, 2022
84ab583
src: FlyViewVideo: Remove Double-click text after 10 seconds
patrickelectric Jul 6, 2022
3084e3f
Fix cmake build for Actuators library
s-lisovenko Dec 23, 2021
1f5131e
libs: qmlglsink: Update to the latest version
patrickelectric Jan 21, 2022
046a53b
Fix cmake and version variable in build system (#10109)
patrickelectric Jan 11, 2022
d1c850c
Fix compiler error from eigen libs
DonLakeFlyer Oct 25, 2022
af66cbd
fix android udp h264 video record (#10611)
patrickelectric Mar 9, 2023
78e94c8
Add ARKV6X
AlexKlimaj Sep 13, 2022
2487989
Github actions: Remove android-33-ext5 from build image
kibidev Mar 15, 2023
ca5f0d4
FTPManager: Fix struct definition
patrickelectric Feb 12, 2021
00216bd
Fix 64 bit shift
DonLakeFlyer Jan 18, 2021
bae994b
ArduSubFirmwarePlugin: add GuidedModeCapability to Sub vehicles
Williangalvani Dec 7, 2022
0ec8ed5
MavlinkConsoleController: set correct data size
bkueng Jun 2, 2022
e1e3d51
Add Kakute H7 v2 & Kakute H7 Mini to QGC
vincentpoont2 Feb 2, 2023
8ac1dd4
Display Rangefinder Distance
AndKe Feb 2, 2023
c295b36
Fix Kakute H7 v2 & Kakute H7 Mini Board ID error on QGC
vincentpoont2 Feb 3, 2023
dba71d4
FirmwareUpgrade: add CubeOrange+
julianoes Feb 10, 2023
c0cc078
OfflineMapButton: fix text overlapping on long tileset descriptions
Davidsastresas Feb 22, 2023
d04be87
Adds MAV_CMD_DO_CHANGE_SPEED support (#10607)
farhangnaderi Mar 9, 2023
2af8a8c
QGCCameraManager.cc: Increase camerainforequest to 10 (from 3)
Davidsastresas Mar 10, 2023
12c4ee1
FirmwareUpgrade: add thepeach board (#10586)
WTPENGUIN Mar 13, 2023
33d8bda
PlanManager: drop spurious items for unexpected mission types (#10509)
maaaat Mar 13, 2023
d0ba5ba
Joystick: Enable button up signal for hat buttons (#10543)
kjersbry Mar 13, 2023
93c4caf
github: linux: Update ubuntu to 20.04
patrickelectric Jun 30, 2023
49a0b1d
Merge branch 'Stable_V4.2' of https://github.com/mavlink/qgroundcontr…
igorcampos-tii Jul 25, 2023
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
18 changes: 17 additions & 1 deletion .github/workflows/android_32_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
git fetch --all --tags -f

- name: Install Qt
uses: jurplel/install-qt-action@v2
uses: jurplel/install-qt-action@v3
with:
version: ${{ env.QT_VERSION }}
host: linux
Expand All @@ -47,6 +47,18 @@ jobs:
modules: qtcharts
setup-python: true

- name: Install Android NDK
uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r21e
add-to-path: false

- name: Remove Android SDK android-33-ext
run: |
${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --uninstall "platforms;android-33-ext5"
${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --uninstall "platforms;android-33-ext4"

- name: Install ccache
run: sudo apt-get install ccache

Expand Down Expand Up @@ -98,6 +110,10 @@ jobs:
working-directory: ${{ runner.temp }}/shadow_build_dir
env:
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
ANDROID_NDK_ROOT: ${{ steps.setup-ndk.outputs.ndk-path }}
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
ANDROID_NDK_LATEST_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
ANDROID_NDK: ${{ steps.setup-ndk.outputs.ndk-path }}
run: |
qmake -r ${SOURCE_DIR}/qgroundcontrol.pro -spec android-clang CONFIG+=${BUILD_TYPE} CONFIG+=installer ANDROID_ABIS="armeabi-v7a"
make -j2
Expand Down
18 changes: 17 additions & 1 deletion .github/workflows/android_64_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
git fetch --all --tags -f

- name: Install Qt
uses: jurplel/install-qt-action@v2
uses: jurplel/install-qt-action@v3
with:
version: ${{ env.QT_VERSION }}
host: linux
Expand All @@ -47,6 +47,18 @@ jobs:
modules: qtcharts
setup-python: true

- name: Install Android NDK
uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r21e
add-to-path: false

- name: Remove Android SDK android-33-ext
run: |
${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --uninstall "platforms;android-33-ext5"
${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --uninstall "platforms;android-33-ext4"

- name: Install ccache
run: sudo apt-get install ccache

Expand Down Expand Up @@ -98,6 +110,10 @@ jobs:
working-directory: ${{ runner.temp }}/shadow_build_dir
env:
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
ANDROID_NDK_ROOT: ${{ steps.setup-ndk.outputs.ndk-path }}
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
ANDROID_NDK_LATEST_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
ANDROID_NDK: ${{ steps.setup-ndk.outputs.ndk-path }}
run: |
qmake -r ${SOURCE_DIR}/qgroundcontrol.pro -spec android-clang CONFIG+=${BUILD_TYPE} CONFIG+=installer ANDROID_ABIS="arm64-v8a"
make -j2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/linux_debug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ env:

jobs:
build:
runs-on: ubuntu-18.04
runs-on: ubuntu-20.04

steps:
- name: Checkout repo
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/linux_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ env:

jobs:
build:
runs-on: ubuntu-18.04
runs-on: ubuntu-20.04

steps:
- name: Checkout repo
Expand Down
15 changes: 10 additions & 5 deletions .github/workflows/macos_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
git fetch --all --tags -f

- name: Install Qt
uses: jurplel/install-qt-action@v2
uses: jurplel/install-qt-action@v3
with:
version: ${{ env.QT_VERSION }}
host: mac
Expand All @@ -47,9 +47,12 @@ jobs:
setup-python: false

- name: Install Gstreamer
run: |
wget --quiet https://qgroundcontrol.s3-us-west-2.amazonaws.com/dependencies/gstreamer-osx-1.18.1.tar.bz2 &&
sudo tar zxf gstreamer-osx-1.18.1.tar.bz2 -C /Library/Frameworks
run: |
wget https://gstreamer.freedesktop.org/data/pkg/osx/1.18.1/gstreamer-1.0-devel-1.18.1-x86_64.pkg
wget https://gstreamer.freedesktop.org/data/pkg/osx/1.18.1/gstreamer-1.0-1.18.1-x86_64.pkg
for package in *.pkg ;
do sudo installer -verbose -pkg "$package" -target /
done

- name: Install ccache
run: brew install ccache
Expand Down Expand Up @@ -83,8 +86,10 @@ jobs:
- name: Build
working-directory: ${{ runner.temp }}/shadow_build_dir
run: |
export JOBS=$((`sysctl -n hw.ncpu`+1))
export LIBRARY_PATH=/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/
qmake -r ${SOURCE_DIR}/qgroundcontrol.pro CONFIG+=installer CONFIG+=${BUILD_TYPE}
make -j3
make -j$JOBS

- name: ccache post-run
run: ccache -s
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ add_definitions(
)

include(Git)
message(STATUS "QGroundControl version: ${GIT_VERSION}")
message(STATUS "QGroundControl version: ${APP_VERSION_STR}")

#=============================================================================
# ccache
Expand Down
3 changes: 2 additions & 1 deletion QGCCommon.pri
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,8 @@ linux {
DEFINES += QGC_GST_MICROHARD_ENABLED
QMAKE_CXXFLAGS += -fvisibility=hidden
QMAKE_CXXFLAGS_WARN_ON += -Werror \
-Wno-unused-parameter # gst-plugins-good
-Wno-unused-parameter \ # gst-plugins-good
-Wno-deprecated-declarations # eigen
} else {
error("Unsupported Mac toolchain, only 64-bit LLVM+clang is supported")
}
Expand Down
20 changes: 6 additions & 14 deletions QGCPostLinkInstaller.pri
Original file line number Diff line number Diff line change
Expand Up @@ -12,24 +12,16 @@
installer {
DEFINES += QGC_INSTALL_RELEASE
MacBuild {
#QMAKE_POST_LINK += && rsync -a --delete $BUILT_PRODUCTS_DIR/$${TARGET}.app .
VideoEnabled {
# Install the gstreamer framework
# This will:
# Copy from the original distibution into DESTDIR/gstwork (if not already there)
# Prune the framework, removing stuff we don't need
# Relocate all dylibs so they can work under @executable_path/...
# Copy the result into the app bundle
# Make sure qgroundcontrol can find them
QMAKE_POST_LINK += && $$SOURCE_DIR/tools/prepare_gstreamer_framework.sh $${OUT_PWD}/gstwork/ $${TARGET}.app $${TARGET}
}

QMAKE_POST_LINK += && echo macdeployqt
QMAKE_POST_LINK += && $$dirname(QMAKE_QMAKE)/macdeployqt $${TARGET}.app -appstore-compliant -verbose=1 -qmldir=$${SOURCE_DIR}/src

# macdeployqt is missing some relocations once in a while. "Fix" it:
QMAKE_POST_LINK += && echo osxrelocator
QMAKE_POST_LINK += && python $$SOURCE_DIR/tools/osxrelocator.py $${TARGET}.app/Contents @rpath @executable_path/../Frameworks -r > /dev/null 2>&1
QMAKE_POST_LINK += && cp -R /Library/Frameworks/GStreamer.framework $${TARGET}.app/Contents/Frameworks
QMAKE_POST_LINK += && echo libexec
QMAKE_POST_LINK += && ln -sf $${TARGET}.app/Contents/Frameworks $${TARGET}.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/Frameworks
QMAKE_POST_LINK += && install_name_tool -change /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer @executable_path/../Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer $${TARGET}.app/Contents/MacOS/QGroundControl
QMAKE_POST_LINK += && rm -rf $${TARGET}.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/{bin,etc,share,Headers,include,Commands}
QMAKE_POST_LINK += && rm -rf $${TARGET}.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/lib/{*.a,*.la,glib-2.0,gst-validate-launcher,pkgconfig}

codesign {
# Disabled for now since it's not working correctly yet
Expand Down
2 changes: 1 addition & 1 deletion VideoReceiverApp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ set(COPYRIGHT "Copyright (c) 2020 VideoReceiverApp. All rights reserved.")
set(IDENTIFIER "labs.auterion.VideoReceiverApp")

include(Git)
message(STATUS "VideoReceiverApp version: ${GIT_VERSION}")
message(STATUS "VideoReceiverApp version: ${APP_VERSION_STR}")

#=============================================================================
# ccache
Expand Down
2 changes: 1 addition & 1 deletion cmake/Git.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,5 @@ endif()
# Fetch the necessary git variables
execute_process(COMMAND ${GIT_EXECUTABLE} describe --always --tags
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_VARIABLE GIT_VERSION
OUTPUT_VARIABLE APP_VERSION_STR
OUTPUT_STRIP_TRAILING_WHITESPACE)
2 changes: 1 addition & 1 deletion cmake/QGCDeploy.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ elseif(APPLE)
COMMAND
rsync -a --delete ${CMAKE_BINARY_DIR}/QGroundControl.app ${CMAKE_BINARY_DIR}/staging
COMMAND
hdiutil create /tmp/tmp.dmg -ov -volname "QGroundControl-$${GIT_VERSION}" -fs HFS+ -srcfolder "staging"
hdiutil create /tmp/tmp.dmg -ov -volname "QGroundControl-$${APP_VERSION_STR}" -fs HFS+ -srcfolder "staging"
COMMAND
hdiutil convert /tmp/tmp.dmg -format UDBZ -o ${CMAKE_BINARY_DIR}/package/QGroundControl.dmg
)
Expand Down
4 changes: 2 additions & 2 deletions custom-example/custom.pri
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ win32 {
}
CUSTOM_QGC_VERSION = $${CUSTOM_QGC_VER_MAJOR}.$${CUSTOM_QGC_VER_MINOR}.$${CUSTOM_QGC_VER_BUILD}

DEFINES -= GIT_VERSION=\"\\\"$$GIT_VERSION\\\"\"
DEFINES += GIT_VERSION=\"\\\"$$CUSTOM_QGC_VERSION\\\"\"
DEFINES -= APP_VERSION_STR=\"\\\"$$APP_VERSION_STR\\\"\"
DEFINES += APP_VERSION_STR=\"\\\"$$CUSTOM_QGC_VERSION\\\"\"

message(Custom QGC Version: $${CUSTOM_QGC_VERSION})

Expand Down
3 changes: 2 additions & 1 deletion qgroundcontrol.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@
<file alias="QGroundControl/Controls/CameraCalcCamera.qml">src/PlanView/CameraCalcCamera.qml</file>
<file alias="QGroundControl/Controls/CameraCalcGrid.qml">src/PlanView/CameraCalcGrid.qml</file>
<file alias="QGroundControl/Controls/CameraSection.qml">src/PlanView/CameraSection.qml</file>
<file alias="QGroundControl/Controls/Campos.qml">src/PlanView/Campos.qml</file>
<file alias="QGroundControl/Controls/ClickableColor.qml">src/QmlControls/ClickableColor.qml</file>
<file alias="QGroundControl/Controls/CorridorScanMapVisual.qml">src/PlanView/CorridorScanMapVisual.qml</file>
<file alias="QGroundControl/Controls/DeadMouseArea.qml">src/QmlControls/DeadMouseArea.qml</file>
Expand Down Expand Up @@ -183,7 +184,7 @@
<file alias="QGroundControl/Controls/TerrainStatus.qml">src/PlanView/TerrainStatus.qml</file>
<file alias="QGroundControl/Controls/TakeoffItemMapVisual.qml">src/PlanView/TakeoffItemMapVisual.qml</file>
<file alias="QGroundControl/Controls/ToolStrip.qml">src/QmlControls/ToolStrip.qml</file>
<file alias="QGroundControl/Controls/ToolStripHoverButton.qml">src/QmlControls/ToolStripHoverButton.qml</file>
<file alias="QGroundControl/Controls/ToolStripHoverButton.qml">src/QmlControls/ToolStripHoverButton.qml</file>
<file alias="QGroundControl/Controls/TransectStyleComplexItemEditor.qml">src/PlanView/TransectStyleComplexItemEditor.qml</file>
<file alias="QGroundControl/Controls/TransectStyleComplexItemStats.qml">src/PlanView/TransectStyleComplexItemStats.qml</file>
<file alias="QGroundControl/Controls/TransectStyleComplexItemTabBar.qml">src/PlanView/TransectStyleComplexItemTabBar.qml</file>
Expand Down
3 changes: 2 additions & 1 deletion src/AnalyzeView/MavlinkConsoleController.cc
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@ MavlinkConsoleController::_sendSerialData(QByteArray data, bool close)
// Send maximum sized chunks until the complete buffer is transmitted
while(data.size()) {
QByteArray chunk{data.left(MAVLINK_MSG_SERIAL_CONTROL_FIELD_DATA_LEN)};
int dataSize = chunk.size();
// Ensure the buffer is large enough, as the MAVLink parser expects MAVLINK_MSG_SERIAL_CONTROL_FIELD_DATA_LEN bytes
chunk.append(MAVLINK_MSG_SERIAL_CONTROL_FIELD_DATA_LEN - chunk.size(), '\0');
uint8_t flags = SERIAL_CONTROL_FLAG_EXCLUSIVE | SERIAL_CONTROL_FLAG_RESPOND | SERIAL_CONTROL_FLAG_MULTI;
Expand All @@ -159,7 +160,7 @@ MavlinkConsoleController::_sendSerialData(QByteArray data, bool close)
flags,
0,
0,
chunk.size(),
dataSize,
reinterpret_cast<uint8_t*>(chunk.data()),
_vehicle->id(), _vehicle->defaultComponentId());
_vehicle->sendMessageOnLinkThreadSafe(sharedLink.get(), msg);
Expand Down
9 changes: 9 additions & 0 deletions src/AutoPilotPlugins/APM/APMPowerComponent.qml
Original file line number Diff line number Diff line change
Expand Up @@ -349,6 +349,15 @@ SetupPage {
ampOffset: 0.330
}

ListElement {
text: qsTr("Navigator w/ Blue Robotics Power Sense Module")
voltPin: 5
currPin: 4
voltMult: 11.000
ampPerVolt: 37.8788
ampOffset: 0.330
}

ListElement {
text: qsTr("Other")
}
Expand Down
16 changes: 13 additions & 3 deletions src/AutoPilotPlugins/APM/APMSafetyComponentSub.qml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ SetupPage {
property bool _firmware34: globals.activeVehicle.versionCompare(3, 5, 0) < 0

// Enable/Action parameters
property Fact _failsafeBatteryEnable: controller.getParameterFact(-1, "r.BATT_FS_LOW_ACT")
property Fact _failsafeBatteryEnable: controller.getParameterFact(-1, "r.BATT_FS_LOW_ACT", false)
property Fact _failsafeEKFEnable: controller.getParameterFact(-1, "FS_EKF_ACTION")
property Fact _failsafeGCSEnable: controller.getParameterFact(-1, "FS_GCS_ENABLE")
property Fact _failsafeLeakEnable: controller.getParameterFact(-1, "FS_LEAK_ENABLE")
Expand All @@ -53,8 +53,9 @@ SetupPage {
property Fact _failsafeLeakPin: controller.getParameterFact(-1, "LEAK1_PIN")
property Fact _failsafeLeakLogic: controller.getParameterFact(-1, "LEAK1_LOGIC")
property Fact _failsafeEKFThreshold: controller.getParameterFact(-1, "FS_EKF_THRESH")
property Fact _failsafeBatteryVoltage: controller.getParameterFact(-1, "r.BATT_LOW_VOLT")
property Fact _failsafeBatteryCapacity: controller.getParameterFact(-1, "r.BATT_LOW_MAH")
property Fact _failsafeBatteryVoltage: controller.getParameterFact(-1, "r.BATT_LOW_VOLT", false)
property Fact _failsafeBatteryCapacity: controller.getParameterFact(-1, "r.BATT_LOW_MAH", false)
property bool _batteryDetected: controller.parameterExists(-1, "r.BATT_LOW_MAH")

property Fact _armingCheck: controller.getParameterFact(-1, "ARMING_CHECK")

Expand Down Expand Up @@ -167,11 +168,20 @@ SetupPage {

FactComboBox {
id: batteryEnableCombo
enabled: _batteryDetected
width: failsafeSettings._editWidth
fact: _failsafeBatteryEnable
indexModel: false
}

QGCLabel {
text: qsTr("Power module not set up")
width: failsafeSettings._labelWidth
color: ggcPal.warningText
anchors.verticalCenter: batteryEnableCombo.verticalCenter
visible: !_batteryDetected
}

QGCLabel {
text: qsTr("Voltage:")
width: failsafeSettings._labelWidth
Expand Down
Loading