Commit 79bfc087 authored by Lorenz Meier's avatar Lorenz Meier Committed by Don Gagne

Camera triggering config update for PX4 (#3690)

* Update param meta

* Implement trigger interface UI
parent 594ae813
...@@ -36,6 +36,7 @@ QGCView { ...@@ -36,6 +36,7 @@ QGCView {
property real _editFieldWidth: ScreenTools.defaultFontPixelWidth * 16 property real _editFieldWidth: ScreenTools.defaultFontPixelWidth * 16
property Fact _camTriggerMode: controller.getParameterFact(-1, "TRIG_MODE") 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 _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 _auxPins: controller.getParameterFact(-1, "TRIG_PINS", false) // Ditto
...@@ -145,7 +146,6 @@ QGCView { ...@@ -145,7 +146,6 @@ QGCView {
spacing: _margins * 0.5 spacing: _margins * 0.5
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
Row { Row {
visible: !controller.fixedWing
QGCLabel { QGCLabel {
anchors.baseline: camTrigCombo.baseline anchors.baseline: camTrigCombo.baseline
width: _middleRowWidth width: _middleRowWidth
...@@ -162,6 +162,24 @@ QGCView { ...@@ -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 { Row {
QGCLabel { QGCLabel {
text: qsTr("Time Interval") text: qsTr("Time Interval")
...@@ -269,6 +287,7 @@ QGCView { ...@@ -269,6 +287,7 @@ QGCView {
} }
Item { width: _margins * 0.5; height: 1; } Item { width: _margins * 0.5; height: 1; }
Column { Column {
visible: !_camTriggerInterface || (_camTriggerInterface.value === 1)
spacing: _margins * 0.5 spacing: _margins * 0.5
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
QGCLabel { QGCLabel {
......
...@@ -15,6 +15,7 @@ FactPanel { ...@@ -15,6 +15,7 @@ FactPanel {
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
property Fact _camTriggerMode: controller.getParameterFact(-1, "TRIG_MODE", false) 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 _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 _auxPins: controller.getParameterFact(-1, "TRIG_PINS", false) // Ditto
property Fact _timeInterval: controller.getParameterFact(-1, "TRIG_INTERVAL", false) // Ditto property Fact _timeInterval: controller.getParameterFact(-1, "TRIG_INTERVAL", false) // Ditto
...@@ -23,6 +24,11 @@ FactPanel { ...@@ -23,6 +24,11 @@ FactPanel {
Column { Column {
anchors.fill: parent anchors.fill: parent
VehicleSummaryRow {
labelText: qsTr("Trigger interface:")
valueText: _camTriggerInterface ? _camTriggerInterface.enumStringValue : ""
}
VehicleSummaryRow { VehicleSummaryRow {
labelText: qsTr("Trigger mode:") labelText: qsTr("Trigger mode:")
valueText: _camTriggerMode ? _camTriggerMode.enumStringValue : "" valueText: _camTriggerMode ? _camTriggerMode.enumStringValue : ""
......
...@@ -392,6 +392,16 @@ velocity</short_desc> ...@@ -392,6 +392,16 @@ velocity</short_desc>
</parameter> </parameter>
</group> </group>
<group name="Camera trigger"> <group name="Camera trigger">
<parameter default="2" name="TRIG_INTERFACE" type="INT32">
<short_desc>Camera trigger Interface</short_desc>
<long_desc>Selects the trigger interface</long_desc>
<reboot_required>true</reboot_required>
<scope>drivers/camera_trigger</scope>
<values>
<value code="1">GPIO</value>
<value code="2">Seagull MAP2 (PWM)</value>
</values>
</parameter>
<parameter default="40.0" name="TRIG_INTERVAL" type="FLOAT"> <parameter default="40.0" name="TRIG_INTERVAL" type="FLOAT">
<short_desc>Camera trigger interval</short_desc> <short_desc>Camera trigger interval</short_desc>
<long_desc>This parameter sets the time between two consecutive trigger events</long_desc> <long_desc>This parameter sets the time between two consecutive trigger events</long_desc>
...@@ -435,7 +445,7 @@ velocity</short_desc> ...@@ -435,7 +445,7 @@ velocity</short_desc>
<value code="4">Distance, mission controlled</value> <value code="4">Distance, mission controlled</value>
</values> </values>
</parameter> </parameter>
<parameter default="12" name="TRIG_PINS" type="INT32"> <parameter default="6" name="TRIG_PINS" type="INT32">
<short_desc>Camera trigger pin</short_desc> <short_desc>Camera trigger pin</short_desc>
<long_desc>Selects which pin is used, ranges from 1 to 6 (AUX1-AUX6)</long_desc> <long_desc>Selects which pin is used, ranges from 1 to 6 (AUX1-AUX6)</long_desc>
<min>1</min> <min>1</min>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment