From 79bfc087d0bcdb34a5bc0b013dda151a4da95996 Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Wed, 29 Jun 2016 17:51:13 +0200 Subject: [PATCH] Camera triggering config update for PX4 (#3690) * Update param meta * Implement trigger interface UI --- src/AutoPilotPlugins/PX4/CameraComponent.qml | 21 ++++++++++++++++++- .../PX4/CameraComponentSummary.qml | 6 ++++++ .../PX4/PX4ParameterFactMetaData.xml | 12 ++++++++++- 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/src/AutoPilotPlugins/PX4/CameraComponent.qml b/src/AutoPilotPlugins/PX4/CameraComponent.qml index 6234a6420e..09034962e4 100644 --- a/src/AutoPilotPlugins/PX4/CameraComponent.qml +++ b/src/AutoPilotPlugins/PX4/CameraComponent.qml @@ -36,6 +36,7 @@ QGCView { property real _editFieldWidth: ScreenTools.defaultFontPixelWidth * 16 property Fact _camTriggerMode: controller.getParameterFact(-1, "TRIG_MODE") + property Fact _camTriggerInterface: controller.getParameterFact(-1, "TRIG_INTERFACE", false) property Fact _camTriggerPol: controller.getParameterFact(-1, "TRIG_POLARITY", false) // Don't bitch about missing as these only exist if trigger mode is enabled property Fact _auxPins: controller.getParameterFact(-1, "TRIG_PINS", false) // Ditto @@ -145,7 +146,6 @@ QGCView { spacing: _margins * 0.5 anchors.verticalCenter: parent.verticalCenter Row { - visible: !controller.fixedWing QGCLabel { anchors.baseline: camTrigCombo.baseline width: _middleRowWidth @@ -162,6 +162,24 @@ QGCView { } } } + Row { + visible: _camTriggerInterface ? true : false + QGCLabel { + anchors.baseline: camInterfaceCombo.baseline + width: _middleRowWidth + text: qsTr("Trigger interface:") + } + FactComboBox { + id: camInterfaceCombo + width: _editFieldWidth + fact: _camTriggerInterface + indexModel: false + enabled: !_rebooting + onActivated: { + applyAndRestart.visible = true + } + } + } Row { QGCLabel { text: qsTr("Time Interval") @@ -269,6 +287,7 @@ QGCView { } Item { width: _margins * 0.5; height: 1; } Column { + visible: !_camTriggerInterface || (_camTriggerInterface.value === 1) spacing: _margins * 0.5 anchors.verticalCenter: parent.verticalCenter QGCLabel { diff --git a/src/AutoPilotPlugins/PX4/CameraComponentSummary.qml b/src/AutoPilotPlugins/PX4/CameraComponentSummary.qml index 565ec1fc2a..6ebc862a4f 100644 --- a/src/AutoPilotPlugins/PX4/CameraComponentSummary.qml +++ b/src/AutoPilotPlugins/PX4/CameraComponentSummary.qml @@ -15,6 +15,7 @@ FactPanel { FactPanelController { id: controller; factPanel: panel } property Fact _camTriggerMode: controller.getParameterFact(-1, "TRIG_MODE", false) + property Fact _camTriggerInterface: controller.getParameterFact(-1, "TRIG_INTERFACE", false) property Fact _camTriggerPol: controller.getParameterFact(-1, "TRIG_POLARITY", false) // Don't bitch about missing as these only exist if trigger mode is enabled property Fact _auxPins: controller.getParameterFact(-1, "TRIG_PINS", false) // Ditto property Fact _timeInterval: controller.getParameterFact(-1, "TRIG_INTERVAL", false) // Ditto @@ -23,6 +24,11 @@ FactPanel { Column { anchors.fill: parent + VehicleSummaryRow { + labelText: qsTr("Trigger interface:") + valueText: _camTriggerInterface ? _camTriggerInterface.enumStringValue : "" + } + VehicleSummaryRow { labelText: qsTr("Trigger mode:") valueText: _camTriggerMode ? _camTriggerMode.enumStringValue : "" diff --git a/src/FirmwarePlugin/PX4/PX4ParameterFactMetaData.xml b/src/FirmwarePlugin/PX4/PX4ParameterFactMetaData.xml index ca121441ec..e9b1495288 100644 --- a/src/FirmwarePlugin/PX4/PX4ParameterFactMetaData.xml +++ b/src/FirmwarePlugin/PX4/PX4ParameterFactMetaData.xml @@ -392,6 +392,16 @@ velocity + + Camera trigger Interface + Selects the trigger interface + true + drivers/camera_trigger + + GPIO + Seagull MAP2 (PWM) + + Camera trigger interval This parameter sets the time between two consecutive trigger events @@ -435,7 +445,7 @@ velocity Distance, mission controlled - + Camera trigger pin Selects which pin is used, ranges from 1 to 6 (AUX1-AUX6) 1 -- GitLab