diff --git a/libxsync b/libxsync
index 94c4352..ceb3c26 160000
--- a/libxsync
+++ b/libxsync
@@ -1 +1 @@
-Subproject commit 94c4352c150f3d559301a8c1f9a5baa2b5ff0394
+Subproject commit ceb3c26ea5b262fe792bfb4418f8186b450faa39
diff --git a/mainwindow.cpp b/mainwindow.cpp
index ec36c08..2ec67b8 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -333,8 +333,6 @@ void MainWindow::construct_reg_table() { //
push_reg(ui->gridLayoutWidget, regoff++, "delayer_delay_sig_index", reg::delayer_delay_sig_index, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "delayer_delay_us", reg::delayer_delay_us, 0, kreg_val_type_decimal);
-
-
auto qrect = ui->gridLayoutWidget->geometry();
qrect.setHeight(31 * regoff - 1);
ui->scrollAreaWidgetContents->setMinimumHeight(31 * (regoff + 10) - 1);
@@ -455,12 +453,18 @@ void MainWindow::UI_RecordSigGenConstruct() {
ui->RecordSigGenerator_ContrlMode->addItem(QString::fromStdString(ControlMode2Str(CONTROLMODE_MANUAL_TRIGGER)));
ui->RecordSigGenerator_ContrlMode->addItem(QString::fromStdString(ControlMode2Str(CONTROLMODE_TIMECODE_TRIGGER)));
ui->RecordSigGenerator_ContrlMode->addItem(QString::fromStdString(ControlMode2Str(CONTROLMODE_EXTERNALTTL_TRIGGER)));
+ ui->RecordSigGenerator_ContrlMode->addItem(QString::fromStdString(ControlMode2Str(CONTROLMODE_EXTERNALTTL_EDGE_TRIGGER)));
ui->RecordSigGenerator_ExternalTTLTriggerSrc->clear();
ui->RecordSigGenerator_ExternalTTLTriggerSrc->addItem(QString::fromStdString(InputInterface2Str(INPUT_IF_TTL1)));
ui->RecordSigGenerator_ExternalTTLTriggerSrc->addItem(QString::fromStdString(InputInterface2Str(INPUT_IF_TTL2)));
ui->RecordSigGenerator_ExternalTTLTriggerSrc->addItem(QString::fromStdString(InputInterface2Str(INPUT_IF_TTL3)));
ui->RecordSigGenerator_ExternalTTLTriggerSrc->addItem(QString::fromStdString(InputInterface2Str(INPUT_IF_TTL4)));
+
+ ui->RecordSigGenerator_TriggerEdge->clear();
+ ui->RecordSigGenerator_TriggerEdge->addItem(QString::fromStdString(TriggerEdge2Str(TRIGGER_EDGE_RISING)));
+ ui->RecordSigGenerator_TriggerEdge->addItem(QString::fromStdString(TriggerEdge2Str(TRIGGER_EDGE_FALLING)));
+ ui->RecordSigGenerator_TriggerEdge->addItem(QString::fromStdString(TriggerEdge2Str(TRIGGER_EDGE_BOTH)));
}
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {
@@ -601,7 +605,7 @@ void MainWindow::mainWindowsRun() { //
ZLOGE(TAG, "do: %s fail,ecode:[%d](%s)", #exptr, ecode, xs_error_code_2_str(ecode)); \
return; \
} else { \
- ZLOGI(TAG, "do: %s success", #exptr); \
+ \
} \
}
@@ -1007,6 +1011,7 @@ void MainWindow::on_RecordSigGen_Read_clicked() {
uint32_t exposureOffsetTime;
uint32_t state;
XsyncTimecode_t timecode_snapshot;
+ TriggerEdge_t edge;
DO_XSYNC_FUNC(XsyncIns()->RecordSigGenerator_getContrlMode(mode));
DO_XSYNC_FUNC(XsyncIns()->RecordSigGenerator_getAutoStartTimecode(autoStartTimecode));
@@ -1016,6 +1021,7 @@ void MainWindow::on_RecordSigGen_Read_clicked() {
DO_XSYNC_FUNC(XsyncIns()->RecordSigGenerator_getExternalTTLTriggerPolarity(polarity));
DO_XSYNC_FUNC(XsyncIns()->RecordSigGenerator_getRecordState(state));
DO_XSYNC_FUNC(XsyncIns()->RecordSigGenerator_readTimecodeSnapshot(timecode_snapshot));
+ DO_XSYNC_FUNC(XsyncIns()->RecordSigGenerator_getTriggerEdge(edge));
ui->RecordSigGenerator_ContrlMode->setCurrentText(QString::fromStdString(ControlMode2Str(mode)));
ui->RecordSigGenerator_AutoStartTimecode->setText(QString(XsyncTimecodeToStr(autoStartTimecode).c_str()));
@@ -1024,19 +1030,30 @@ void MainWindow::on_RecordSigGen_Read_clicked() {
ui->RecordSigGenerator_TimecodeCtrlFlag1->setChecked(autoStop);
ui->RecordSigGenerator_ExternalTTLTriggerSrc->setCurrentText(QString::fromStdString(InputInterface2Str(ttlPortNum)));
ui->RecordSigGenerator_ExternalTTLTriggerPolarity->setText(QString::number(polarity));
+ ui->RecordSigGenerator_TriggerEdge->setCurrentText(QString::fromStdString(TriggerEdge2Str(edge)));
// ui->RecordSigGenerator_RecordExposureTime->setText(QString::number(exposureTime));
// ui->RecordSigGenerator_RecordExposureOffsetTime->setText(QString::number(exposureOffsetTime));
ui->RecordSigGenerator_RecordState->setText(QString::number(state));
ui->RecordSigGenerator_TimecodeSnapshot->setText(QString(XsyncTimecodeToStr(timecode_snapshot).c_str()));
}
void MainWindow::on_RecordSigGen_Write_clicked() {
- ControlMode_t mode = Str2ControlMode(ui->RecordSigGenerator_ContrlMode->currentText().toStdString());
- XsyncTimecode_t autoStartTimecode = Str2XsyncTimecode(ui->RecordSigGenerator_AutoStartTimecode->text().toStdString());
- XsyncTimecode_t autoStopTimecode = Str2XsyncTimecode(ui->RecordSigGenerator_AutoStopTimecode->text().toStdString());
- uint32_t autoStart = ui->RecordSigGenerator_TimecodeCtrlFlag0->isChecked();
- uint32_t autoStop = ui->RecordSigGenerator_TimecodeCtrlFlag1->isChecked();
- InputInterface_t ttlPortNum = Str2InputInterface(ui->RecordSigGenerator_ExternalTTLTriggerSrc->currentText().toStdString());
- uint32_t polarity = ui->RecordSigGenerator_ExternalTTLTriggerPolarity->text().toUInt();
+ ControlMode_t mode = Str2ControlMode(ui->RecordSigGenerator_ContrlMode->currentText().toStdString());
+
+ uint32_t autoStart = ui->RecordSigGenerator_TimecodeCtrlFlag0->isChecked();
+ uint32_t autoStop = ui->RecordSigGenerator_TimecodeCtrlFlag1->isChecked();
+ InputInterface_t ttlPortNum = Str2InputInterface(ui->RecordSigGenerator_ExternalTTLTriggerSrc->currentText().toStdString());
+ uint32_t polarity = ui->RecordSigGenerator_ExternalTTLTriggerPolarity->text().toUInt();
+ TriggerEdge_t edge = Str2TriggerEdge(ui->RecordSigGenerator_TriggerEdge->currentText().toStdString());
+
+ static XsyncTimecode_t autoStopTimecode;
+ Str2XsyncTimecode(ui->RecordSigGenerator_AutoStopTimecode->text().toStdString(), autoStopTimecode);
+ static XsyncTimecode_t autoStartTimecode;
+ Str2XsyncTimecode(ui->RecordSigGenerator_AutoStartTimecode->text().toStdString(), autoStartTimecode);
+
+ ZLOGI(TAG, "............. %s", ui->RecordSigGenerator_AutoStartTimecode->text().toStdString().c_str());
+ ZLOGI(TAG, "............. %s", ui->RecordSigGenerator_AutoStopTimecode->text().toStdString().c_str());
+ ZLOGI(TAG, "1 %d %d %d %d %d ", autoStartTimecode.hour, autoStartTimecode.minute, autoStartTimecode.second, autoStartTimecode.frame, autoStartTimecode.subframe);
+ ZLOGI(TAG, "2 %d %d %d %d %d ", autoStopTimecode.hour, autoStopTimecode.minute, autoStopTimecode.second, autoStopTimecode.frame, autoStopTimecode.subframe);
// uint32_t exposureTime = ui->RecordSigGenerator_RecordExposureTime->text().toUInt();
// uint32_t exposureOffsetTime = ui->RecordSigGenerator_RecordExposureOffsetTime->text().toUInt();
@@ -1048,6 +1065,7 @@ void MainWindow::on_RecordSigGen_Write_clicked() {
DO_XSYNC_FUNC(XsyncIns()->RecordSigGenerator_setTimecodeCtrlFlag(autoStart, autoStop));
DO_XSYNC_FUNC(XsyncIns()->RecordSigGenerator_setExternalTTLTriggerSrc(ttlPortNum));
DO_XSYNC_FUNC(XsyncIns()->RecordSigGenerator_setExternalTTLTriggerPolarity(polarity));
+ DO_XSYNC_FUNC(XsyncIns()->RecordSigGenerator_setTriggerEdge(edge));
// DO_XSYNC_FUNC(XsyncIns()->RecordSigGenerator_setRecordExposureTime(exposureTime));
// DO_XSYNC_FUNC(XsyncIns()->RecordSigGenerator_setRecordExposureOffsetTime(exposureOffsetTime));
}
@@ -1109,5 +1127,4 @@ void MainWindow::on_DelayContrl_Update_clicked() {
DO_XSYNC_FUNC(XsyncIns()->DelayContrl_setInputDelay(DelayContrl_InputDelay));
DO_XSYNC_FUNC(XsyncIns()->DelayContrl_setOutputDelay(DelayContrl_OutputDelay));
-
}
diff --git a/mainwindow.ui b/mainwindow.ui
index b9f0dc6..45d7853 100644
--- a/mainwindow.ui
+++ b/mainwindow.ui
@@ -204,7 +204,7 @@
- 6
+ 4
@@ -2752,7 +2752,7 @@
20
- 60
+ 100
81
31
@@ -2765,7 +2765,7 @@
110
- 60
+ 100
141
31
@@ -2796,6 +2796,32 @@
-1
+
+
+
+ 110
+ 60
+ 141
+ 31
+
+
+
+ -1
+
+
+
+
+
+ 20
+ 60
+ 81
+ 31
+
+
+
+ 触发边沿
+
+