diff --git a/CMakeLists.txt b/CMakeLists.txt
index bc4eb2a..8842f39 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,6 +28,7 @@ set(PROJECT_SOURCES
libxsync/xsync.cpp
src/xsync_udp_factory_impl.cpp
libxsync/src/xsync_v2_sig_type.cpp
+ libxsync/src/xsync_utils.cpp
)
diff --git a/libxsync b/libxsync
index e493c4b..211732f 160000
--- a/libxsync
+++ b/libxsync
@@ -1 +1 @@
-Subproject commit e493c4b01222c9c9072dc91f658438641043a9a1
+Subproject commit 211732f79e8ab42abb806fd77cd47c3272902c6b
diff --git a/mainwindow.cpp b/mainwindow.cpp
index afa9dd6..00b371b 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -315,6 +315,26 @@ void MainWindow::construct_reg_table() { //
push_reg(ui->gridLayoutWidget, regoff++, "sys_clock_infreq_detect", reg::sys_clock_infreq_detect, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "sys_clock_outfreq_detect", reg::sys_clock_outfreq_detect, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "record_sig_gen_module", reg::record_sig_gen_module, 0, kreg_val_type_hex);
+ push_reg(ui->gridLayoutWidget, regoff++, "record_sig_gen_ctrl_control_mode", reg::record_sig_gen_ctrl_control_mode, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "record_sig_gen_timecode_start0", reg::record_sig_gen_timecode_start0, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "record_sig_gen_timecode_start1", reg::record_sig_gen_timecode_start1, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "record_sig_gen_timecode_stop0", reg::record_sig_gen_timecode_stop0, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "record_sig_gen_timecode_stop1", reg::record_sig_gen_timecode_stop1, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "record_sig_gen_timecode_control_flag", reg::record_sig_gen_timecode_control_flag, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "record_sig_gen_ttlin_trigger_sig_source", reg::record_sig_gen_ttlin_trigger_sig_source, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "record_sig_gen_ttlin_trigger_level", reg::record_sig_gen_ttlin_trigger_level, 0, kreg_val_type_decimal);
+
+ push_reg(ui->gridLayoutWidget, regoff++, "record_sig_gen_exposure_time", reg::record_sig_gen_exposure_time, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "record_sig_gen_exposure_offset_time", reg::record_sig_gen_exposure_offset_time, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "record_sig_gen_manual_ctrl", reg::record_sig_gen_manual_ctrl, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "record_sig_gen_start_timecode_snapshot0", reg::record_sig_gen_start_timecode_snapshot0, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "record_sig_gen_start_timecode_snapshot1", reg::record_sig_gen_start_timecode_snapshot1, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "record_sig_gen_record_state", reg::record_sig_gen_record_state, 0, kreg_val_type_decimal);
+
+ push_reg(ui->gridLayoutWidget, regoff++, "camera_sync_module", reg::camera_sync_module, 0, kreg_val_type_hex);
+ push_reg(ui->gridLayoutWidget, regoff++, "camera_sync_pulse_mode_valid_len", reg::camera_sync_pulse_mode_valid_len, 0, kreg_val_type_decimal);
+
auto qrect = ui->gridLayoutWidget->geometry();
qrect.setHeight(31 * regoff - 1);
ui->scrollAreaWidgetContents->setMinimumHeight(31 * (regoff + 10) - 1);
@@ -342,12 +362,12 @@ void MainWindow::UI_TimecodePageConstruct() {
ui->SysTimecode_Source->addItem(QString::fromStdString("1"));
}
-void MainWindow::UI_CameraSyncPacketGeneratorModuleConstruct() {
- ui->CameraSyncPacketGeneratorModule_TriggerSig->clear();
- for (auto &str : camera_sync_packet_generator_module::TriggerSigTypeStrSet()) {
- ui->CameraSyncPacketGeneratorModule_TriggerSig->addItem(QString::fromStdString(str));
- }
-}
+// void MainWindow::UI_CameraSyncPacketGeneratorModuleConstruct() {
+// ui->CameraSyncPacketGeneratorModule_TriggerSig->clear();
+// for (auto &str : camera_sync_packet_generator_module::TriggerSigTypeStrSet()) {
+// ui->CameraSyncPacketGeneratorModule_TriggerSig->addItem(QString::fromStdString(str));
+// }
+// }
void MainWindow::UI_TTLPageConstruct() {
QStringList list;
@@ -401,6 +421,18 @@ void MainWindow::UI_SysClockPageConstruct() {
ui->SysClock_Src->addItem(QString::fromStdString(SignalType2Str(SIGNAL_SYS_GENLOCK_OUTPUT)));
ui->SysClock_Src->addItem(QString::fromStdString(SignalType2Str(SIGNAL_SYS_TIMECODE_FREQ_OUTPUT)));
}
+void MainWindow::UI_RecordSigGenConstruct() {
+ ui->RecordSigGenerator_ContrlMode->clear();
+ 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_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)));
+}
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {
ui->setupUi(this);
@@ -412,10 +444,11 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
construct_reg_table();
qInstallMessageHandler(log_output);
UI_TimecodePageConstruct();
- UI_CameraSyncPacketGeneratorModuleConstruct();
+ // UI_CameraSyncPacketGeneratorModuleConstruct();
UI_TTLPageConstruct();
UI_GenlockPageConstruct();
UI_SysClockPageConstruct();
+ UI_RecordSigGenConstruct();
/*******************************************************************************
* 连接信号与槽 *
@@ -438,18 +471,18 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
// m_xsync.reset(new Xsync());
Xsync::Ins().initialize(XSyncUdpFactoryImpl::Ins());
- Xsync::Ins().Basic_registerOnTimecodeMsgCallback([this](XsyncTimecode_t *timecode_msg) { //
+ Xsync::Ins().registerOnTimecodeMsgCallback([this](XsyncTimecode_t *timecode_msg) { //
XsyncTimecode_t timecode = *timecode_msg;
QString text = QString(fmt("%02d:%02d:%02d:%02d", timecode.hour, timecode.minute, timecode.second, timecode.frame));
updateUI_timeCodeInfo_signal(text);
});
- Xsync::Ins().Basic_registerOnCameraSyncMsgCallback([this](xysnc_camera_sync_data_t *camera_sync_msg) { //
+ Xsync::Ins().registerOnCameraSyncMsgCallback([this](xysnc_camera_sync_data_t *camera_sync_msg) { //
xysnc_camera_sync_data_t camera_sync_data = *camera_sync_msg;
updateUI_cameraSyncInfo_signal(QString(fmt("%d", camera_sync_data.frameIndex)));
});
- Xsync::Ins().Basic_registerOnWorkstateChangeMsgCallback([this](uint32_t workstate) { emit doinui_signal(QFunction([this, workstate]() { ui->WorkState->setText(QString::number(workstate)); })); });
+ Xsync::Ins().registerOnWorkstateChangeMsgCallback([this](uint32_t workstate) { emit doinui_signal(QFunction([this, workstate]() { ui->WorkState->setText(QString::number(workstate)); })); });
}
MainWindow::~MainWindow() { delete ui; }
@@ -509,11 +542,11 @@ void MainWindow::mainWindowsRun() { //
} \
}
-void MainWindow::on_GenNewMac_clicked() { DO_XSYNC_FUNC(Xsync::Ins().Basic_generatorNewMac()); }
-void MainWindow::on_FactoryReset_clicked() { DO_XSYNC_FUNC(Xsync::Ins().Basic_factoryReset()); }
-void MainWindow::on_Reboot_clicked() { DO_XSYNC_FUNC(Xsync::Ins().Basic_reboot()); }
+void MainWindow::on_GenNewMac_clicked() { DO_XSYNC_FUNC(Xsync::Ins().generatorNewMac()); }
+void MainWindow::on_FactoryReset_clicked() { DO_XSYNC_FUNC(Xsync::Ins().factoryReset()); }
+void MainWindow::on_Reboot_clicked() { DO_XSYNC_FUNC(Xsync::Ins().reboot()); }
void MainWindow::on_ChangeNetCfg_clicked() { //
- DO_XSYNC_FUNC(Xsync::Ins().Basic_changeNetworkConfig(ui->ChangeNetCfg_ip->text().toStdString(), ui->ChangeNetCfg_mask->text().toStdString(), ui->ChangeNetCfg_gateway->text().toStdString()));
+ DO_XSYNC_FUNC(Xsync::Ins().changeNetworkConfig(ui->ChangeNetCfg_ip->text().toStdString(), ui->ChangeNetCfg_mask->text().toStdString(), ui->ChangeNetCfg_gateway->text().toStdString()));
}
void MainWindow::on_TimecodePage_Read_clicked() {
@@ -558,35 +591,14 @@ void MainWindow::on_TimecodePage_Update_clicked() {
DO_XSYNC_FUNC(Xsync::Ins().SysTimecode_setSource(SysTimecode_Source));
}
-void MainWindow::on_CameraSyncPacketGeneratorModule_Update_clicked() {
- auto TriggerSig = camera_sync_packet_generator_module::Str2TriggerSigType(ui->CameraSyncPacketGeneratorModule_TriggerSig->currentText().toStdString());
- auto ReportPeriod = ui->CameraSyncPacketGeneratorModule_ReportPeriod->text().toUInt();
-
- DO_XSYNC_FUNC(Xsync::Ins().CameraSyncPacketGeneratorModule_setTriggerSig(TriggerSig));
- DO_XSYNC_FUNC(Xsync::Ins().CameraSyncPacketGeneratorModule_setReportPeriod(ReportPeriod));
-}
-void MainWindow::on_CameraSyncPacketGeneratorModule_Read_clicked() {
- camera_sync_packet_generator_module::TriggerSigType_t TriggerSig;
-
- uint32_t ReportPeriod;
- uint32_t PacketIndex;
-
- DO_XSYNC_FUNC(Xsync::Ins().CameraSyncPacketGeneratorModule_getTriggerSig(TriggerSig));
- DO_XSYNC_FUNC(Xsync::Ins().CameraSyncPacketGeneratorModule_getReportPeriod(ReportPeriod));
- DO_XSYNC_FUNC(Xsync::Ins().CameraSyncPacketGeneratorModule_getPacketIndex(PacketIndex));
-
- ui->CameraSyncPacketGeneratorModule_TriggerSig->setCurrentText(QString::fromStdString(camera_sync_packet_generator_module::TriggerSigType2Str(TriggerSig)));
- ui->CameraSyncPacketGeneratorModule_ReportPeriod->setText(QString::number(ReportPeriod));
- ui->CameraSyncPacketGeneratorModule_PacketIndex->setText(QString::number(PacketIndex));
-}
-void MainWindow::on_CameraSyncPacketGeneratorModule_ClearPacketIndex_clicked() {
- DO_XSYNC_FUNC(Xsync::Ins().CameraSyncPacketGeneratorModule_clearPacketIndex());
- on_CameraSyncPacketGeneratorModule_Read_clicked();
-}
+// void MainWindow::on_CameraSyncPacketGeneratorModule_ClearPacketIndex_clicked() {
+// DO_XSYNC_FUNC(Xsync::Ins().CameraSyncPacketGeneratorModule_clearPacketIndex());
+// on_CameraSyncPacketGeneratorModule_Read_clicked();
+// }
void MainWindow::on_tabWidget_currentChanged(int index) {
on_RefreshRegsButton_clicked();
- on_CameraSyncPacketGeneratorModule_Read_clicked();
+ // on_CameraSyncPacketGeneratorModule_Read_clicked();
on_TimecodePage_Read_clicked();
on_TTLPage_Read_clicked();
}
@@ -813,4 +825,60 @@ void MainWindow::on_SysClockPage_Wirte_clicked() {
auto multi = ui->SysClock_FreqMultiplication->text().toUInt();
DO_XSYNC_FUNC(Xsync::Ins().SysClock_setFreqMultiplication(multi));
}
-}
\ No newline at end of file
+}
+
+void MainWindow::on_RecordSigGen_Read_clicked() {
+ ControlMode_t mode;
+ XsyncTimecode_t autoStartTimecode;
+ XsyncTimecode_t autoStopTimecode;
+ uint32_t autoStart;
+ uint32_t autoStop;
+ InputInterface_t ttlPortNum;
+ uint32_t polarity;
+ uint32_t exposureTime;
+ uint32_t exposureOffsetTime;
+ uint32_t state;
+
+ DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_getContrlMode(mode));
+ DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_getAutoStartTimecode(autoStartTimecode));
+ DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_getAutoStopTimecode(autoStopTimecode));
+ DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_getTimecodeCtrlFlag(autoStart, autoStop));
+ DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_getExternalTTLTriggerSrc(ttlPortNum));
+ DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_getExternalTTLTriggerPolarity(polarity));
+ DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_getRecordExposureTime(exposureTime));
+ DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_getRecordExposureOffsetTime(exposureOffsetTime));
+ DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_getRecordState(state));
+
+ ui->RecordSigGenerator_ContrlMode->setCurrentText(QString::fromStdString(ControlMode2Str(mode)));
+ ui->RecordSigGenerator_AutoStartTimecode->setText(QString(XsyncTimecodeToStr(autoStartTimecode).c_str()));
+ ui->RecordSigGenerator_AutoStopTimecode->setText(QString(XsyncTimecodeToStr(autoStopTimecode).c_str()));
+ ui->RecordSigGenerator_TimecodeCtrlFlag0->setChecked(autoStart);
+ ui->RecordSigGenerator_TimecodeCtrlFlag1->setChecked(autoStop);
+ ui->RecordSigGenerator_ExternalTTLTriggerSrc->setCurrentText(QString::fromStdString(InputInterface2Str(ttlPortNum)));
+ ui->RecordSigGenerator_ExternalTTLTriggerPolarity->setText(QString::number(polarity));
+ ui->RecordSigGenerator_RecordExposureTime->setText(QString::number(exposureTime));
+ ui->RecordSigGenerator_RecordExposureOffsetTime->setText(QString::number(exposureOffsetTime));
+ ui->RecordSigGenerator_RecordState->setText(QString::number(state));
+}
+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();
+ uint32_t exposureTime = ui->RecordSigGenerator_RecordExposureTime->text().toUInt();
+ uint32_t exposureOffsetTime = ui->RecordSigGenerator_RecordExposureOffsetTime->text().toUInt();
+
+ DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_setContrlMode(mode));
+ DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_setAutoStartTimecode(autoStartTimecode));
+ DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_setAutoStopTimecode(autoStopTimecode));
+ DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_setTimecodeCtrlFlag(autoStart, autoStop));
+ DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_setExternalTTLTriggerSrc(ttlPortNum));
+ DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_setExternalTTLTriggerPolarity(polarity));
+ DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_setRecordExposureTime(exposureTime));
+ DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_setRecordExposureOffsetTime(exposureOffsetTime));
+}
+void MainWindow::on_RecordSigGenerator_manualStart_clicked() { DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_manualStart()); }
+void MainWindow::on_RecordSigGenerator_manualStop_clicked() { DO_XSYNC_FUNC(Xsync::Ins().RecordSigGenerator_manualStop()); }
diff --git a/mainwindow.h b/mainwindow.h
index 835b32d..5e8b424 100644
--- a/mainwindow.h
+++ b/mainwindow.h
@@ -98,9 +98,9 @@ class MainWindow : public QMainWindow {
void updateUI_reg_slot(int32_t regadd, uint32_t regval);
void doinui_slot(QFunction);
- void on_CameraSyncPacketGeneratorModule_Update_clicked();
- void on_CameraSyncPacketGeneratorModule_Read_clicked();
- void on_CameraSyncPacketGeneratorModule_ClearPacketIndex_clicked();
+ // void on_CameraSyncPacketGeneratorModule_Update_clicked();
+ // void on_CameraSyncPacketGeneratorModule_Read_clicked();
+ // void on_CameraSyncPacketGeneratorModule_ClearPacketIndex_clicked();
void on_TimecodePage_Read_clicked();
void on_TimecodePage_Update_clicked();
@@ -121,7 +121,10 @@ class MainWindow : public QMainWindow {
void on_SysClockPage_Wirte_clicked();
-
+ void on_RecordSigGen_Read_clicked();
+ void on_RecordSigGen_Write_clicked();
+ void on_RecordSigGenerator_manualStart_clicked();
+ void on_RecordSigGenerator_manualStop_clicked();
signals:
void append_log_signal(QString str);
@@ -138,7 +141,8 @@ class MainWindow : public QMainWindow {
void UI_TTLOutputMoudleConstruct();
void UI_TimecodePageConstruct();
void UI_GenlockPageConstruct();
- void UI_CameraSyncPacketGeneratorModuleConstruct();
+ void UI_RecordSigGenConstruct();
+ // void UI_CameraSyncPacketGeneratorModuleConstruct();
void UI_TTLPageConstruct();
};
#endif // MAINWINDOW_H
diff --git a/mainwindow.ui b/mainwindow.ui
index 72bb0f5..24c4f72 100644
--- a/mainwindow.ui
+++ b/mainwindow.ui
@@ -10,6 +10,12 @@
897
+
+
+ 0
+ 8
+
+
MainWindow
@@ -143,129 +149,6 @@
4
-
-
- IP配置
-
-
-
-
- 20
- 20
- 101
- 31
-
-
-
- GenNewMac
-
-
-
-
-
- 20
- 60
- 101
- 31
-
-
-
- FactoryReset
-
-
-
-
-
- 20
- 100
- 101
- 31
-
-
-
- Reboot
-
-
-
-
-
- 20
- 140
- 101
- 31
-
-
-
- ChangeNetCfg
-
-
-
-
-
- 130
- 140
- 111
- 31
-
-
-
-
- 75
- true
-
-
-
- 192.168.8.10
-
-
- false
-
-
-
-
-
- 250
- 140
- 111
- 31
-
-
-
-
- 75
- true
-
-
-
- 255.255.255.0
-
-
- false
-
-
-
-
-
- 370
- 140
- 111
- 31
-
-
-
-
- 75
- true
-
-
-
- 192.168.8.1
-
-
- false
-
-
-
TTL
@@ -2046,13 +1929,13 @@
- 相机同步消息上报6
+ RecordSigGen
-
+
- 210
- 50
+ 100
+ 30
241
31
@@ -2061,11 +1944,11 @@
-1
-
+
- 490
- 50
+ 800
+ 30
151
41
@@ -2077,99 +1960,368 @@
- 20
- 50
+ 30
+ 30
101
31
- TriggerSigType
-
-
-
-
-
- 490
- 100
- 151
- 41
-
-
-
- Update
+ 控制模式
-
+
- 490
- 150
+ 800
+ 70
151
41
- 清零包序号
+ Write
-
+
- 210
- 100
- 241
- 31
+ 20
+ 230
+ 261
+ 141
-
-
- 75
- true
-
-
-
-
-
-
- false
+
+ 时码控制
+
+
+
+ 20
+ 20
+ 81
+ 31
+
+
+
+ 启动时间
+
+
+
+
+
+ 20
+ 60
+ 81
+ 31
+
+
+
+ 停止时间
+
+
+
+
+
+ 110
+ 60
+ 141
+ 31
+
+
+
+
+ 75
+ true
+
+
+
+
+
+
+ false
+
+
+
+
+
+ 110
+ 20
+ 141
+ 31
+
+
+
+
+ 75
+ true
+
+
+
+
+
+
+ false
+
+
+
+
+
+ 20
+ 110
+ 71
+ 16
+
+
+
+ 自动启动
+
+
+
+
+
+ 110
+ 110
+ 71
+ 16
+
+
+
+ 自动停止
+
+
-
+
- 20
- 100
- 151
- 31
+ 360
+ 230
+ 261
+ 141
-
- ReportPeriodCount
+
+ 手动控制
-
-
+
+
+
+ 60
+ 30
+ 151
+ 41
+
+
+
+ 启动录制
+
+
+
+
+
+ 60
+ 80
+ 151
+ 41
+
+
+
+ 停止录制
+
+
+
+
- 20
- 150
- 151
+ 670
+ 230
+ 261
+ 141
+
+
+
+ 外部TTL触发控制
+
+
+
+
+ 20
+ 20
+ 81
+ 31
+
+
+
+ TTL_index
+
+
+
+
+
+ 20
+ 60
+ 81
+ 31
+
+
+
+ 触发电平
+
+
+
+
+
+ 110
+ 60
+ 141
+ 31
+
+
+
+
+ 75
+ true
+
+
+
+
+
+
+ false
+
+
+
+
+
+ 110
+ 20
+ 141
+ 31
+
+
+
+ -1
+
+
+
+
+
+
+ 430
+ 20
+ 271
+ 111
+
+
+
+ 曝光信号配置
+
+
+
+
+ 20
+ 20
+ 81
+ 31
+
+
+
+ 曝光时间(us)
+
+
+
+
+
+ 20
+ 60
+ 81
+ 31
+
+
+
+ 偏移时间(us)
+
+
+
+
+
+ 110
+ 60
+ 141
+ 31
+
+
+
+
+ 75
+ true
+
+
+
+
+
+
+ false
+
+
+
+
+
+ 110
+ 20
+ 141
+ 31
+
+
+
+
+ 75
+ true
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+ 100
+ 70
+ 141
31
+
+
+ 75
+ true
+
+
- Index
+
+
+
+ true
-
+
- 210
- 150
- 241
+ 30
+ 70
+ 101
31
+
+ 录制状态
+
@@ -2263,6 +2415,129 @@
+
+
+ IP配置
+
+
+
+
+ 20
+ 20
+ 101
+ 31
+
+
+
+ GenNewMac
+
+
+
+
+
+ 20
+ 60
+ 101
+ 31
+
+
+
+ FactoryReset
+
+
+
+
+
+ 20
+ 100
+ 101
+ 31
+
+
+
+ Reboot
+
+
+
+
+
+ 20
+ 140
+ 101
+ 31
+
+
+
+ ChangeNetCfg
+
+
+
+
+
+ 130
+ 140
+ 111
+ 31
+
+
+
+
+ 75
+ true
+
+
+
+ 192.168.8.10
+
+
+ false
+
+
+
+
+
+ 250
+ 140
+ 111
+ 31
+
+
+
+
+ 75
+ true
+
+
+
+ 255.255.255.0
+
+
+ false
+
+
+
+
+
+ 370
+ 140
+ 111
+ 31
+
+
+
+
+ 75
+ true
+
+
+
+ 192.168.8.1
+
+
+ false
+
+
+
-
@@ -2270,7 +2545,7 @@
0
- 3
+ 8
diff --git a/src/main.cpp b/src/main.cpp
index 8aa745f..ff7f39d 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -39,3 +39,5 @@ int main(int argc, char *argv[]) {
ZLOGI(TAG, "start");
return a.exec();
}
+
+