From 2968956bb819c9fe0460dbc684e0743afadebd5c Mon Sep 17 00:00:00 2001 From: zhaohe Date: Wed, 6 Mar 2024 00:06:04 +0800 Subject: [PATCH] update --- CMakeLists.txt | 1 + libxsync | 2 +- mainwindow.cpp | 150 ++++++++++---- mainwindow.h | 14 +- mainwindow.ui | 643 ++++++++++++++++++++++++++++++++++++++++----------------- src/main.cpp | 2 + 6 files changed, 581 insertions(+), 231 deletions(-) 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(); } + +