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 {
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 {
......
......@@ -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 : ""
......
......@@ -392,6 +392,16 @@ velocity</short_desc>
</parameter>
</group>
<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">
<short_desc>Camera trigger interval</short_desc>
<long_desc>This parameter sets the time between two consecutive trigger events</long_desc>
......@@ -435,7 +445,7 @@ velocity</short_desc>
<value code="4">Distance, mission controlled</value>
</values>
</parameter>
<parameter default="12" name="TRIG_PINS" type="INT32">
<parameter default="6" name="TRIG_PINS" type="INT32">
<short_desc>Camera trigger pin</short_desc>
<long_desc>Selects which pin is used, ranges from 1 to 6 (AUX1-AUX6)</long_desc>
<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