diff --git a/CMakeLists.txt b/CMakeLists.txt
index d6de5a7..bc4eb2a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,6 +15,8 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets console REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets Charts Concurrent REQUIRED)
+include_directories(libxsync/include)
+
set(PROJECT_SOURCES
src/logger.cpp
src/main.cpp
@@ -25,6 +27,7 @@ set(PROJECT_SOURCES
mainwindow.ui
libxsync/xsync.cpp
src/xsync_udp_factory_impl.cpp
+ libxsync/src/xsync_v2_sig_type.cpp
)
diff --git a/libxsync b/libxsync
index 8524703..82fd643 160000
--- a/libxsync
+++ b/libxsync
@@ -1 +1 @@
-Subproject commit 852470380e9fb47c02af3945bed70053e0427852
+Subproject commit 82fd6434b8606480f4c9c687416af0b842388958
diff --git a/mainwindow.cpp b/mainwindow.cpp
index 4e5f898..f13d29a 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -73,7 +73,7 @@ void MainWindow::push_reg(QWidget *parent, int off, const char *regname, int32_t
sizePolicy1.setVerticalStretch(0);
sizePolicy1.setHeightForWidth(label->sizePolicy().hasHeightForWidth());
label->setSizePolicy(sizePolicy1);
- label->setMinimumSize(QSize(250, 0));
+ label->setMinimumSize(QSize(300, 0));
label->setMaximumSize(QSize(16777215, 16777215));
ui->reg_table->addWidget(label, off, 0, 1, 1);
regitem->label = label;
@@ -132,7 +132,7 @@ void MainWindow::push_reg(QWidget *parent, int off, const char *regname, int32_t
if (ecode == kxs_ec_success) {
ZLOGI(TAG, "write reg 0x%04x %d success", regadd, regval);
m_regdisplayer[regadd]->regvalcache = readbackval;
- updateUI_timeCodeInfo(regadd);
+ updateUI_reg(regadd);
} else {
ZLOGE(TAG, "write reg 0x%04x %d fail,ecode:%s", regadd, regval, xs_error_code_2_str(ecode));
}
@@ -145,7 +145,7 @@ void MainWindow::push_reg(QWidget *parent, int off, const char *regname, int32_t
m_regdisplayer[regadd] = regitem;
}
-void MainWindow::updateUI_timeCodeInfo(uint32_t regoff) {
+void MainWindow::updateUI_reg(uint32_t regoff) {
// m_regdisplayer[regoff]->regBrowser->setText("0x" + QString::number(regValue, 16));
uint32_t regval = m_regdisplayer[regoff]->regvalcache;
@@ -181,69 +181,111 @@ void MainWindow::construct_reg_table() { //
push_reg(ui->gridLayoutWidget, regoff++, "sn_id2", reg::ksn_id2, 0, kreg_val_type_dotted_hex);
push_reg(ui->gridLayoutWidget, regoff++, "mac0", reg::kmac0, 0, kreg_val_type_dotted_hex);
push_reg(ui->gridLayoutWidget, regoff++, "mac1", reg::kmac1, 0, kreg_val_type_dotted_hex);
-
- // reg::kstm32_ip
- // reg::kstm32_gw
- // reg::kstm32_netmask
- // reg::kstm32_camera_sync_signal_count
-
push_reg(ui->gridLayoutWidget, regoff++, "stm32_ip", reg::kstm32_ip, 0, kreg_val_type_dotted_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "stm32_gw", reg::kstm32_gw, 0, kreg_val_type_dotted_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "stm32_netmask", reg::kstm32_netmask, 0, kreg_val_type_dotted_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "stm32_camera_sync_signal_count", reg::kstm32_camera_sync_signal_count, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg0", reg::kfpga_info_reg0, 0, kreg_val_type_hex);
+ push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg1", reg::kfpga_info_reg1, 0, kreg_val_type_hex);
+ push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg2", reg::kfpga_info_reg2, 0, kreg_val_type_hex);
+ push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg3", reg::kfpga_info_reg3, 0, kreg_val_type_hex);
+ push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg4", reg::kfpga_info_reg4, 0, kreg_val_type_hex);
+
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlin_module", reg::k_ttlin_module, 0, kreg_val_type_hex);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlin_en_reg", reg::k_ttlin_en_reg, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlin1_freq_detector_reg", reg::k_ttlin1_freq_detector_reg, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlin2_freq_detector_reg", reg::k_ttlin2_freq_detector_reg, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlin3_freq_detector_reg", reg::k_ttlin3_freq_detector_reg, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlin4_freq_detector_reg", reg::k_ttlin4_freq_detector_reg, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlin1_filter_factor_reg", reg::k_ttlin1_filter_factor_reg, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlin2_filter_factor_reg", reg::k_ttlin2_filter_factor_reg, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlin3_filter_factor_reg", reg::k_ttlin3_filter_factor_reg, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlin4_filter_factor_reg", reg::k_ttlin4_filter_factor_reg, 0, kreg_val_type_decimal);
+
+ /*******************************************************************************
+ * TIMECODE输入模块 *
+ *******************************************************************************/
+
+ push_reg(ui->gridLayoutWidget, regoff++, "internal_timecode_module", reg::internal_timecode_module, 0, kreg_val_type_hex);
+ push_reg(ui->gridLayoutWidget, regoff++, "internal_timecode_en", reg::internal_timecode_en, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "internal_timecode_format", reg::internal_timecode_format, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "internal_timecode_data0", reg::internal_timecode_data0, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "internal_timecode_data1", reg::internal_timecode_data1, 0, kreg_val_type_decimal);
+
+ push_reg(ui->gridLayoutWidget, regoff++, "external_timecode_module", reg::external_timecode_module, 0, kreg_val_type_hex);
+ push_reg(ui->gridLayoutWidget, regoff++, "external_timecode_sig_selt", reg::external_timecode_sig_selt, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "external_timecode_format", reg::external_timecode_format, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "external_timecode_code0", reg::external_timecode_code0, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "external_timecode_code1", reg::external_timecode_code1, 0, kreg_val_type_decimal);
+
+ push_reg(ui->gridLayoutWidget, regoff++, "sys_timecode_module", reg::sys_timecode_module, 0, kreg_val_type_hex);
+ push_reg(ui->gridLayoutWidget, regoff++, "sys_timecode_select", reg::sys_timecode_select, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "sys_timecode_format", reg::sys_timecode_format, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "sys_timecode_data0", reg::sys_timecode_data0, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "sys_timecode_data1", reg::sys_timecode_data1, 0, kreg_val_type_decimal);
+
+ push_reg(ui->gridLayoutWidget, regoff++, "timecode_output_module", reg::timecode_output_module, 0, kreg_val_type_hex);
+ push_reg(ui->gridLayoutWidget, regoff++, "timecode_output_timecode0", reg::timecode_output_timecode0, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "timecode_output_timecode1", reg::timecode_output_timecode1, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "timecode_output_timecode_format", reg::timecode_output_timecode_format, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "timecode_output_bnc_outut_level_select", reg::timecode_output_bnc_outut_level_select, 0, kreg_val_type_decimal);
+
+ /*******************************************************************************
+ * TTL输出模块配置 *
+ *******************************************************************************/
+
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_module", reg::kreg_ttlout1_module, 0, kreg_val_type_hex);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_signal_process_mode", reg::kreg_ttlout1_signal_process_mode, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_input_signal_select", reg::kreg_ttlout1_input_signal_select, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_pllout_freq_division_ctrl", reg::kreg_ttlout1_pllout_freq_division_ctrl, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_pllout_freq_multiplication_ctrl", reg::kreg_ttlout1_pllout_freq_multiplication_ctrl, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_pllout_polarity_ctrl", reg::kreg_ttlout1_pllout_polarity_ctrl, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_pllout_trigger_edge_select", reg::kreg_ttlout1_pllout_trigger_edge_select, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_forward_mode_polarity_ctrl", reg::kreg_ttlout1_forward_mode_polarity_ctrl, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_freq_detect_bias", reg::kreg_ttlout1_freq_detect_bias, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_placeholder0", reg::kreg_ttlout1_placeholder0, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_sig_in_freq_detect", reg::kreg_ttlout1_sig_in_freq_detect, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_sig_out_freq_detect", reg::kreg_ttlout1_sig_out_freq_detect, 0, kreg_val_type_decimal);
+
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_module", reg::kreg_ttlout2_module, 0, kreg_val_type_hex);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_signal_process_mode", reg::kreg_ttlout2_signal_process_mode, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_input_signal_select", reg::kreg_ttlout2_input_signal_select, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_pllout_freq_division_ctrl", reg::kreg_ttlout2_pllout_freq_division_ctrl, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_pllout_freq_multiplication_ctrl", reg::kreg_ttlout2_pllout_freq_multiplication_ctrl, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_pllout_polarity_ctrl", reg::kreg_ttlout2_pllout_polarity_ctrl, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_pllout_trigger_edge_select", reg::kreg_ttlout2_pllout_trigger_edge_select, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_forward_mode_polarity_ctrl", reg::kreg_ttlout2_forward_mode_polarity_ctrl, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_freq_detect_bias", reg::kreg_ttlout2_freq_detect_bias, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_placeholder0", reg::kreg_ttlout2_placeholder0, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_sig_in_freq_detect", reg::kreg_ttlout2_sig_in_freq_detect, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_sig_out_freq_detect", reg::kreg_ttlout2_sig_out_freq_detect, 0, kreg_val_type_decimal);
+
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_module", reg::kreg_ttlout3_module, 0, kreg_val_type_hex);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_signal_process_mode", reg::kreg_ttlout3_signal_process_mode, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_input_signal_select", reg::kreg_ttlout3_input_signal_select, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_pllout_freq_division_ctrl", reg::kreg_ttlout3_pllout_freq_division_ctrl, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_pllout_freq_multiplication_ctrl", reg::kreg_ttlout3_pllout_freq_multiplication_ctrl, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_pllout_polarity_ctrl", reg::kreg_ttlout3_pllout_polarity_ctrl, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_pllout_trigger_edge_select", reg::kreg_ttlout3_pllout_trigger_edge_select, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_forward_mode_polarity_ctrl", reg::kreg_ttlout3_forward_mode_polarity_ctrl, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_freq_detect_bias", reg::kreg_ttlout3_freq_detect_bias, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_placeholder0", reg::kreg_ttlout3_placeholder0, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_sig_in_freq_detect", reg::kreg_ttlout3_sig_in_freq_detect, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_sig_out_freq_detect", reg::kreg_ttlout3_sig_out_freq_detect, 0, kreg_val_type_decimal);
+
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_module", reg::kreg_ttlout4_module, 0, kreg_val_type_hex);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_signal_process_mode", reg::kreg_ttlout4_signal_process_mode, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_input_signal_select", reg::kreg_ttlout4_input_signal_select, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_pllout_freq_division_ctrl", reg::kreg_ttlout4_pllout_freq_division_ctrl, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_pllout_freq_multiplication_ctrl", reg::kreg_ttlout4_pllout_freq_multiplication_ctrl, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_pllout_polarity_ctrl", reg::kreg_ttlout4_pllout_polarity_ctrl, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_pllout_trigger_edge_select", reg::kreg_ttlout4_pllout_trigger_edge_select, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_forward_mode_polarity_ctrl", reg::kreg_ttlout4_forward_mode_polarity_ctrl, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_freq_detect_bias", reg::kreg_ttlout4_freq_detect_bias, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_placeholder0", reg::kreg_ttlout4_placeholder0, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_sig_in_freq_detect", reg::kreg_ttlout4_sig_in_freq_detect, 0, kreg_val_type_decimal);
+ push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_sig_out_freq_detect", reg::kreg_ttlout4_sig_out_freq_detect, 0, kreg_val_type_decimal);
- push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg0", reg::kfpga_test_reg0, 0, kreg_val_type_hex);
- push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg1", reg::kfpga_test_reg1, 0, kreg_val_type_hex);
- push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg2", reg::kfpga_test_reg2, 0, kreg_val_type_hex);
- push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg3", reg::kfpga_test_reg3, 0, kreg_val_type_hex);
- push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg4", reg::kfpga_test_reg4, 0, kreg_val_type_hex);
-
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_input_sig_slt", reg::kttlout1_input_sig_slt, 0, kreg_val_type_decimal);
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_output_sig_slt", reg::kttlout1_output_sig_slt, 0, kreg_val_type_decimal);
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_config", reg::kttlout1_config, 0, kreg_val_type_hex);
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_pulse_mode_duration", reg::kttlout1_pulse_mode_duration, 0, kreg_val_type_decimal);
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_pulse_mode_delay", reg::kttlout1_pulse_mode_delay, 0, kreg_val_type_decimal);
-
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_input_sig_slt", reg::kttlout2_input_sig_slt, 0, kreg_val_type_decimal);
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_output_sig_slt", reg::kttlout2_output_sig_slt, 0, kreg_val_type_decimal);
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_config", reg::kttlout2_config, 0, kreg_val_type_hex);
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_pulse_mode_duration", reg::kttlout2_pulse_mode_duration, 0, kreg_val_type_decimal);
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_pulse_mode_delay", reg::kttlout2_pulse_mode_delay, 0, kreg_val_type_decimal);
-
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_input_sig_slt", reg::kttlout3_input_sig_slt, 0, kreg_val_type_decimal);
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_output_sig_slt", reg::kttlout3_output_sig_slt, 0, kreg_val_type_decimal);
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_config", reg::kttlout3_config, 0, kreg_val_type_hex);
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_pulse_mode_duration", reg::kttlout3_pulse_mode_duration, 0, kreg_val_type_decimal);
-
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_pulse_mode_delay", reg::kttlout3_pulse_mode_delay, 0, kreg_val_type_decimal);
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_input_sig_slt", reg::kttlout4_input_sig_slt, 0, kreg_val_type_decimal);
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_output_sig_slt", reg::kttlout4_output_sig_slt, 0, kreg_val_type_decimal);
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_config", reg::kttlout4_config, 0, kreg_val_type_hex);
- push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_pulse_mode_duration", reg::kttlout4_pulse_mode_duration, 0, kreg_val_type_decimal);
-
- push_reg(ui->gridLayoutWidget, regoff++, "SigGenerator_ctl", reg::kSigGenerator_ctl, 0, kreg_val_type_decimal);
- push_reg(ui->gridLayoutWidget, regoff++, "SigGenerator_genlock_format", reg::kSigGenerator_genlock_format, 0, kreg_val_type_decimal);
- push_reg(ui->gridLayoutWidget, regoff++, "SigGenerator_timecode_format", reg::kSigGenerator_timecode_format, 0, kreg_val_type_decimal);
- push_reg(ui->gridLayoutWidget, regoff++, "SigGenerator_control_trigger_reg", reg::kSigGenerator_control_trigger_reg, 0, kreg_val_type_decimal);
- push_reg(ui->gridLayoutWidget, regoff++, "SigGenerator_timecode0", reg::kSigGenerator_timecode0, 0, kreg_val_type_dotted_hex);
- push_reg(ui->gridLayoutWidget, regoff++, "SigGenerator_timecode1", reg::kSigGenerator_timecode1, 0, kreg_val_type_dotted_hex);
- push_reg(ui->gridLayoutWidget, regoff++, "SigGenerator_timecode_start0", reg::kSigGenerator_timecode_start0, 0, kreg_val_type_dotted_hex);
- push_reg(ui->gridLayoutWidget, regoff++, "SigGenerator_timecode_start1", reg::kSigGenerator_timecode_start1, 0, kreg_val_type_dotted_hex);
- push_reg(ui->gridLayoutWidget, regoff++, "SigGenerator_work_state", reg::kSigGenerator_work_state, 0, kreg_val_type_decimal);
-
- push_reg(ui->gridLayoutWidget, regoff++, "camera_sync_out_camera_sync_select", reg::kcamera_sync_out_camera_sync_select, 0, kreg_val_type_decimal);
-
- // ktimecode_in_timecode_sig_selt
- // ktimecode_in_timecode_format
- // ktimecode_in_timecode0
- // ktimecode_in_timecode1
-
- push_reg(ui->gridLayoutWidget, regoff++, "timecode_in_timecode_sig_selt", reg::ktimecode_in_timecode_sig_selt, 0, kreg_val_type_decimal);
- push_reg(ui->gridLayoutWidget, regoff++, "timecode_in_timecode_format", reg::ktimecode_in_timecode_format, 0, kreg_val_type_decimal);
- push_reg(ui->gridLayoutWidget, regoff++, "timecode_in_timecode0", reg::ktimecode_in_timecode0, 0, kreg_val_type_dotted_hex);
- push_reg(ui->gridLayoutWidget, regoff++, "timecode_in_timecode1", reg::ktimecode_in_timecode1, 0, kreg_val_type_dotted_hex);
-
- // 设置table的高度
auto qrect = ui->gridLayoutWidget->geometry();
qrect.setHeight(31 * regoff - 1);
ui->gridLayoutWidget->setGeometry(qrect);
@@ -254,16 +296,6 @@ void MainWindow::UI_TTLOutputMoudleConstruct() {
for (int i = 1; i <= 4; i++) {
ui->TTLOutputMoudle_ID->addItem(QString::number(i));
}
-
- ui->TTLOutputMoudle_InputSigType->clear();
- for (auto &str : ttlout_module::TriggerSigTypeStrSet()) {
- ui->TTLOutputMoudle_InputSigType->addItem(QString::fromStdString(str));
- }
-
- ui->TTLOutputMoudle_OutputSigType->clear();
- for (auto &str : ttlout_module::OutputSigTypeStrSet()) {
- ui->TTLOutputMoudle_OutputSigType->addItem(QString::fromStdString(str));
- }
}
void MainWindow::UI_SigGeneratorConstruct() {
@@ -283,26 +315,28 @@ void MainWindow::UI_SigGeneratorConstruct() {
}
}
-void MainWindow::UI_TimecodeOutputModuleConstruct() {
- ui->TimecodeOutputModule_TimecodeSrcSelect->clear();
- for (auto &str : timecode_output_module::TriggerSigTypeStrSet()) {
- ui->TimecodeOutputModule_TimecodeSrcSelect->addItem(QString::fromStdString(str));
+void MainWindow::UI_TimecodePageConstruct() {
+ ui->InternalTimecode_Format->clear();
+ for (auto &str : TimecodeFormatStrSet()) {
+ ui->InternalTimecode_Format->addItem(QString::fromStdString(str));
}
- ui->TimecodeOutputModule_BncOutputLevel->clear();
- for (auto &str : timecode_output_module::OutputSigLevelTypeStrSet()) {
- ui->TimecodeOutputModule_BncOutputLevel->addItem(QString::fromStdString(str));
+ ui->ExternalTimecode_Format->clear();
+ for (auto &str : TimecodeFormatStrSet()) {
+ ui->ExternalTimecode_Format->addItem(QString::fromStdString(str));
}
- ui->TimecodeOutputModule_HeadphoneOutputLevel->clear();
- for (auto &str : timecode_output_module::OutputSigLevelTypeStrSet()) {
- ui->TimecodeOutputModule_HeadphoneOutputLevel->addItem(QString::fromStdString(str));
- }
+ ui->ExternalTimecode_Source->clear();
+ ui->ExternalTimecode_Source->addItem(QString::fromStdString(InputInterface2Str(INPUT_IF_TIMECODE_BNC)));
+ ui->ExternalTimecode_Source->addItem(QString::fromStdString(InputInterface2Str(INPUT_IF_TIMECODE_HEADPHONE)));
+
+ ui->SysTimecode_Source->clear();
+ ui->SysTimecode_Source->addItem(QString::fromStdString("0"));
+ ui->SysTimecode_Source->addItem(QString::fromStdString("1"));
+
+
+
- ui->TimecodeOutputModule_TimecodeFormat->clear();
- for (auto &str : TimecodeFormatStrSet()) {
- ui->TimecodeOutputModule_TimecodeFormat->addItem(QString::fromStdString(str));
- }
}
void MainWindow::UI_CameraSyncPacketGeneratorModuleConstruct() {
@@ -312,23 +346,7 @@ void MainWindow::UI_CameraSyncPacketGeneratorModuleConstruct() {
}
}
-void MainWindow::UI_TimecodeInModuleConstruct() {
- ui->TimecodeInputModule_Format->clear();
- for (auto &str : TimecodeFormatStrSet()) {
- ui->TimecodeInputModule_Format->addItem(QString::fromStdString(str));
- }
-
- ui->TimecodeInputModule_TriggerSigType->clear();
- for (auto &str : timecode_input_module::TriggerSigTypeStrSet()) {
- ui->TimecodeInputModule_TriggerSigType->addItem(QString::fromStdString(str));
- }
-}
-void MainWindow::UI_TTLInModuleConstruct() {
- ui->TTLInputModule_Index->clear();
- for (int i = 1; i <= 4; i++) {
- ui->TTLInputModule_Index->addItem(QString::number(i));
- }
-}
+void MainWindow::UI_TTLInModuleConstruct() {}
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {
ui->setupUi(this);
@@ -341,9 +359,9 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
qInstallMessageHandler(log_output);
UI_TTLOutputMoudleConstruct();
UI_SigGeneratorConstruct();
- UI_TimecodeOutputModuleConstruct();
+ UI_TimecodePageConstruct();
UI_CameraSyncPacketGeneratorModuleConstruct();
- UI_TimecodeInModuleConstruct();
+ // UI_TimecodeInModuleConstruct();
UI_TTLInModuleConstruct();
/*******************************************************************************
@@ -378,9 +396,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
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().Basic_registerOnWorkstateChangeMsgCallback([this](uint32_t workstate) { emit doinui_signal(QFunction([this, workstate]() { ui->WorkState->setText(QString::number(workstate)); })); });
}
MainWindow::~MainWindow() { delete ui; }
@@ -408,7 +424,7 @@ void MainWindow::on_RefreshRegsButton_clicked() { //
if (ecode == kxs_ec_success) {
ZLOGI(TAG, "reg_read %x success", reg.first);
m_regdisplayer[regoff]->regvalcache = regValue;
- emit doinui_signal(QFunction([this, regoff, regValue]() { updateUI_timeCodeInfo(regoff); }));
+ emit doinui_signal(QFunction([this, regoff, regValue]() { updateUI_reg(regoff); }));
} else {
emit doinui_signal(QFunction([this, regoff, regValue]() {
m_regdisplayer[regoff]->regvalcache = 0;
@@ -454,64 +470,107 @@ 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()));
}
-void MainWindow::on_WriteReg_clicked() {
- uint32_t regadd = str2int(ui->RegAdd->text());
- uint32_t regval = str2int(ui->RegVal->text());
-
- ZLOGI(TAG, "write reg 0x%08x %d", regadd, regval);
- uint32_t readbakval = 0;
- DO_XSYNC_FUNC(Xsync::Ins().reg_write(regadd, regval, readbakval));
-
- ZLOGI(TAG, "write reg 0x%08x 0x%08x ,readback:0x%08x success", regadd, regval, readbakval);
- ui->RegVal->setText(QString(fmt("0x%08x", readbakval)));
-}
-void MainWindow::on_ReadReg_clicked() {
- uint32_t regadd = str2int(ui->RegAdd->text());
- uint32_t regval = 0;
- DO_XSYNC_FUNC(Xsync::Ins().reg_read(regadd, regval));
- ZLOGI(TAG, "read reg 0x%08x 0x%08x success", regadd, regval);
- ui->RegVal->setText(QString(fmt("0x%08x", regval)));
-}
-
-void MainWindow::on_TTLOutputMoudle_Update_clicked() {
- int32_t ID = //
- ui->TTLOutputMoudle_ID->currentText().toInt();
- auto InputSigType = //
- ttlout_module::Str2TriggerSigType(ui->TTLOutputMoudle_InputSigType->currentText().toStdString());
- auto OutputSigType = //
- ttlout_module::Str2OutputSigType(ui->TTLOutputMoudle_OutputSigType->currentText().toStdString());
- uint32_t TriggerModePulseWidth = //
- ui->TTLOutputMoudle_TriggerModePulseWidth->text().toUInt();
- uint32_t TriggerModePulseDelay = //
- ui->TTLOutputMoudle_TriggerModePulseDelay->text().toUInt();
-
- ZLOGI(TAG, "on_TTLOutputMoudle_Update_clicked ID:%d InputSigType:%d OutputSigType:%d TriggerModePulseWidth:%d TriggerModePulseDelay:%d", //
- ID, InputSigType, OutputSigType, TriggerModePulseWidth, TriggerModePulseDelay);
-
- DO_XSYNC_FUNC(Xsync::Ins().TTLOutputModule_setInputSigType(ID, InputSigType));
- DO_XSYNC_FUNC(Xsync::Ins().TTLOutputModule_setOutputSigType(ID, OutputSigType));
- DO_XSYNC_FUNC(Xsync::Ins().TTLOutputModule_setTriggerModePulseWidth(ID, TriggerModePulseWidth));
- DO_XSYNC_FUNC(Xsync::Ins().TTLOutputModule_setTriggerModePulseDelay(ID, TriggerModePulseDelay));
-}
-
-void MainWindow::on_TTLOutputMoudle_Read_clicked() {
- ttlout_module::TriggerSigType_t InputSigType;
- ttlout_module::OutputSigType_t OutputSigType;
- uint32_t TriggerModePulseWidth;
- uint32_t TriggerModePulseDelay;
-
- int32_t ID = //
- ui->TTLOutputMoudle_ID->currentText().toInt();
-
- DO_XSYNC_FUNC(Xsync::Ins().TTLOutputModule_getInputSigType(ID, InputSigType));
- DO_XSYNC_FUNC(Xsync::Ins().TTLOutputModule_getOutputSigType(ID, OutputSigType));
- DO_XSYNC_FUNC(Xsync::Ins().TTLOutputModule_getTriggerModePulseWidth(ID, TriggerModePulseWidth));
- DO_XSYNC_FUNC(Xsync::Ins().TTLOutputModule_getTriggerModePulseDelay(ID, TriggerModePulseDelay));
-
- ui->TTLOutputMoudle_InputSigType->setCurrentText(QString::fromStdString(ttlout_module::TriggerSigType2Str(InputSigType)));
- ui->TTLOutputMoudle_OutputSigType->setCurrentText(QString::fromStdString(ttlout_module::OutputSigType2Str(OutputSigType)));
- ui->TTLOutputMoudle_TriggerModePulseWidth->setText(QString::number(TriggerModePulseWidth));
- ui->TTLOutputMoudle_TriggerModePulseDelay->setText(QString::number(TriggerModePulseDelay));
+// void MainWindow::on_WriteReg_clicked() {
+// uint32_t regadd = str2int(ui->RegAdd->text());
+// uint32_t regval = str2int(ui->RegVal->text());
+
+// ZLOGI(TAG, "write reg 0x%08x %d", regadd, regval);
+// uint32_t readbakval = 0;
+// DO_XSYNC_FUNC(Xsync::Ins().reg_write(regadd, regval, readbakval));
+
+// ZLOGI(TAG, "write reg 0x%08x 0x%08x ,readback:0x%08x success", regadd, regval, readbakval);
+// ui->RegVal->setText(QString(fmt("0x%08x", readbakval)));
+// }
+// void MainWindow::on_ReadReg_clicked() {
+// uint32_t regadd = str2int(ui->RegAdd->text());
+// uint32_t regval = 0;
+// DO_XSYNC_FUNC(Xsync::Ins().reg_read(regadd, regval));
+// ZLOGI(TAG, "read reg 0x%08x 0x%08x success", regadd, regval);
+// ui->RegVal->setText(QString(fmt("0x%08x", regval)));
+// }
+
+// void MainWindow::on_TimecodePage_Read_clicked() {
+// int32_t ID = //
+// ui->TTLOutputMoudle_ID->currentText().toInt();
+// auto InputSigType = //
+// ttlout_module::Str2TriggerSigType(ui->TTLOutputMoudle_InputSigType->currentText().toStdString());
+// auto OutputSigType = //
+// ttlout_module::Str2OutputSigType(ui->TTLOutputMoudle_OutputSigType->currentText().toStdString());
+// uint32_t TriggerModePulseWidth = //
+// ui->TTLOutputMoudle_TriggerModePulseWidth->text().toUInt();
+// uint32_t TriggerModePulseDelay = //
+// ui->TTLOutputMoudle_TriggerModePulseDelay->text().toUInt();
+
+// ZLOGI(TAG, "on_TTLOutputMoudle_Update_clicked ID:%d InputSigType:%d OutputSigType:%d TriggerModePulseWidth:%d TriggerModePulseDelay:%d", //
+// ID, InputSigType, OutputSigType, TriggerModePulseWidth, TriggerModePulseDelay);
+
+// DO_XSYNC_FUNC(Xsync::Ins().TTLOutputModule_setInputSigType(ID, InputSigType));
+// DO_XSYNC_FUNC(Xsync::Ins().TTLOutputModule_setOutputSigType(ID, OutputSigType));
+// DO_XSYNC_FUNC(Xsync::Ins().TTLOutputModule_setTriggerModePulseWidth(ID, TriggerModePulseWidth));
+// DO_XSYNC_FUNC(Xsync::Ins().TTLOutputModule_setTriggerModePulseDelay(ID, TriggerModePulseDelay));
+// }
+
+// void MainWindow::on_TTLOutputMoudle_Read_clicked() {
+// ttlout_module::TriggerSigType_t InputSigType;
+// ttlout_module::OutputSigType_t OutputSigType;
+// uint32_t TriggerModePulseWidth;
+// uint32_t TriggerModePulseDelay;
+
+// int32_t ID = //
+// ui->TTLOutputMoudle_ID->currentText().toInt();
+
+// DO_XSYNC_FUNC(Xsync::Ins().TTLOutputModule_getInputSigType(ID, InputSigType));
+// DO_XSYNC_FUNC(Xsync::Ins().TTLOutputModule_getOutputSigType(ID, OutputSigType));
+// DO_XSYNC_FUNC(Xsync::Ins().TTLOutputModule_getTriggerModePulseWidth(ID, TriggerModePulseWidth));
+// DO_XSYNC_FUNC(Xsync::Ins().TTLOutputModule_getTriggerModePulseDelay(ID, TriggerModePulseDelay));
+
+// ui->TTLOutputMoudle_InputSigType->setCurrentText(QString::fromStdString(ttlout_module::TriggerSigType2Str(InputSigType)));
+// ui->TTLOutputMoudle_OutputSigType->setCurrentText(QString::fromStdString(ttlout_module::OutputSigType2Str(OutputSigType)));
+// ui->TTLOutputMoudle_TriggerModePulseWidth->setText(QString::number(TriggerModePulseWidth));
+// ui->TTLOutputMoudle_TriggerModePulseDelay->setText(QString::number(TriggerModePulseDelay));
+// }
+
+void MainWindow::on_TimecodePage_Read_clicked() {
+ TimecodeFormat_t InternalTimecode_Format;
+ XsyncTimecode_t InternalTimecode_Code;
+ TimecodeFormat_t ExternalTimecode_Format;
+ InputInterface_t ExternalTimecode_Source;
+ XsyncTimecode_t ExternalTimecode_Code;
+ uint32_t SysTimecode_Source;
+ TimecodeFormat_t SysTimecode_Format;
+ XsyncTimecode_t SysTimecode_Code;
+
+
+ DO_XSYNC_FUNC(Xsync::Ins().InternalTimecode_getFormat(InternalTimecode_Format));
+ DO_XSYNC_FUNC(Xsync::Ins().InternalTimecode_getCode(InternalTimecode_Code));
+ DO_XSYNC_FUNC(Xsync::Ins().ExternalTimecode_getFormat(ExternalTimecode_Format));
+ DO_XSYNC_FUNC(Xsync::Ins().ExternalTimecode_getSource(ExternalTimecode_Source));
+ DO_XSYNC_FUNC(Xsync::Ins().ExternalTimecode_readCode(ExternalTimecode_Code));
+ DO_XSYNC_FUNC(Xsync::Ins().SysTimecode_getSource(SysTimecode_Source));
+ DO_XSYNC_FUNC(Xsync::Ins().SysTimecode_readFormat(SysTimecode_Format));
+ DO_XSYNC_FUNC(Xsync::Ins().SysTimecode_readCode(SysTimecode_Code));
+
+ ui->InternalTimecode_Format->setCurrentText(QString::fromStdString(TimecodeFormatToStr(InternalTimecode_Format)));
+ ui->InternalTimecode_Code->setText(QString(XsyncTimecodeToStr(InternalTimecode_Code).c_str()));
+ ui->ExternalTimecode_Format->setCurrentText(QString::fromStdString(TimecodeFormatToStr(ExternalTimecode_Format)));
+ ui->ExternalTimecode_Source->setCurrentText(QString::fromStdString(InputInterface2Str(ExternalTimecode_Source)));
+ ui->ExternalTimecode_Code->setText(QString(XsyncTimecodeToStr(ExternalTimecode_Code).c_str()));
+ ui->SysTimecode_Source->setCurrentText(QString::number(SysTimecode_Source));
+ ui->SysTimecode_Format->setText(QString::fromStdString(TimecodeFormatToStr(SysTimecode_Format)));
+ ui->SysTimecode_Code->setText(QString(XsyncTimecodeToStr(SysTimecode_Code).c_str()));
+}
+void MainWindow::on_TimecodePage_Update_clicked() {
+ TimecodeFormat_t InternalTimecode_Format = Str2TimecodeFormat(ui->InternalTimecode_Format->currentText().toStdString());
+ XsyncTimecode_t InternalTimecode_Code = Str2XsyncTimecode(ui->InternalTimecode_Code->text().toStdString());
+ TimecodeFormat_t ExternalTimecode_Format = Str2TimecodeFormat(ui->ExternalTimecode_Format->currentText().toStdString());
+ InputInterface_t ExternalTimecode_Source = Str2InputInterface(ui->ExternalTimecode_Source->currentText().toStdString());
+ uint32_t SysTimecode_Source = ui->SysTimecode_Source->currentText().toInt();
+
+ DO_XSYNC_FUNC(Xsync::Ins().InternalTimecode_setFormat(InternalTimecode_Format));
+ DO_XSYNC_FUNC(Xsync::Ins().InternalTimecode_setCode(InternalTimecode_Code));
+ DO_XSYNC_FUNC(Xsync::Ins().ExternalTimecode_setFormat(ExternalTimecode_Format));
+ DO_XSYNC_FUNC(Xsync::Ins().ExternalTimecode_setSource(ExternalTimecode_Source));
+ DO_XSYNC_FUNC(Xsync::Ins().SysTimecode_setSource(SysTimecode_Source));
}
void MainWindow::on_SigGenerator_Read_clicked() {
@@ -552,40 +611,34 @@ void MainWindow::on_SigGenerator_Update_clicked() {
void MainWindow::on_SigGenerator_Start_clicked() { DO_XSYNC_FUNC(Xsync::Ins().SigGenerator_manualStart()); }
void MainWindow::on_SigGenerator_Stop_clicked() { DO_XSYNC_FUNC(Xsync::Ins().SigGenerator_manualStop()); }
-void MainWindow::on_TimecodeOutputModule_Read_clicked() {
- // TimecodeOutputModule_TimecodeSrcSelect
- // TimecodeOutputModule_BncOutputLevel
- // TimecodeOutputModule_HeadphoneOutputLevel
- // TimecodeOutputModule_TimecodeFormat
- // TimecodeOutputModule_TimecodeNow
-
- timecode_output_module::TriggerSigType_t TimecodeSrcSelect;
- timecode_output_module::OutputSigLevelType_t BncOutputLevel;
- timecode_output_module::OutputSigLevelType_t HeadphoneOutputLevel;
- TimecodeFormat_t TimecodeFormat;
- XsyncTimecode_t TimecodeNow;
-
- DO_XSYNC_FUNC(Xsync::Ins().TimecodeOutputModule_getTimecodeSrcSelect(TimecodeSrcSelect));
- DO_XSYNC_FUNC(Xsync::Ins().TimecodeOutputModule_getBncOutputLevel(BncOutputLevel));
- DO_XSYNC_FUNC(Xsync::Ins().TimecodeOutputModule_getHeadphoneOutputLevel(HeadphoneOutputLevel));
- DO_XSYNC_FUNC(Xsync::Ins().TimecodeOutputModule_getTimecodeFormat(TimecodeFormat));
- DO_XSYNC_FUNC(Xsync::Ins().TimecodeOutputModule_getTimecodeNow(TimecodeNow));
-
- ui->TimecodeOutputModule_TimecodeSrcSelect->setCurrentText(QString::fromStdString(timecode_output_module::TriggerSigType2Str(TimecodeSrcSelect)));
- ui->TimecodeOutputModule_BncOutputLevel->setCurrentText(QString::fromStdString(timecode_output_module::OutputSigLevelType2Str(BncOutputLevel)));
- ui->TimecodeOutputModule_HeadphoneOutputLevel->setCurrentText(QString::fromStdString(timecode_output_module::OutputSigLevelType2Str(HeadphoneOutputLevel)));
- ui->TimecodeOutputModule_TimecodeFormat->setCurrentText(QString::fromStdString(TimecodeFormatToStr(TimecodeFormat)));
- ui->TimecodeOutputModule_TimecodeNow->setText(QString(XsyncTimecodeToStr(TimecodeNow).c_str()));
-}
-void MainWindow::on_TimecodeOutputModule_Update_clicked() {
- auto TimecodeSrcSelect = timecode_output_module::Str2TriggerSigType(ui->TimecodeOutputModule_TimecodeSrcSelect->currentText().toStdString());
- auto BncOutputLevel = timecode_output_module::Str2OutputSigLevelType(ui->TimecodeOutputModule_BncOutputLevel->currentText().toStdString());
- auto HeadphoneOutputLevel = timecode_output_module::Str2OutputSigLevelType(ui->TimecodeOutputModule_HeadphoneOutputLevel->currentText().toStdString());
-
- DO_XSYNC_FUNC(Xsync::Ins().TimecodeOutputModule_setTimecodeSrcSelect(TimecodeSrcSelect));
- DO_XSYNC_FUNC(Xsync::Ins().TimecodeOutputModule_setBncOutputLevel(BncOutputLevel));
- DO_XSYNC_FUNC(Xsync::Ins().TimecodeOutputModule_setHeadphoneOutputLevel(HeadphoneOutputLevel));
-}
+// void MainWindow::on_TimecodeOutputModule_Read_clicked() {
+// timecode_output_module::TriggerSigType_t TimecodeSrcSelect;
+// timecode_output_module::OutputSigLevelType_t BncOutputLevel;
+// timecode_output_module::OutputSigLevelType_t HeadphoneOutputLevel;
+// TimecodeFormat_t TimecodeFormat;
+// XsyncTimecode_t TimecodeNow;
+
+// DO_XSYNC_FUNC(Xsync::Ins().TimecodeOutputModule_getTimecodeSrcSelect(TimecodeSrcSelect));
+// DO_XSYNC_FUNC(Xsync::Ins().TimecodeOutputModule_getBncOutputLevel(BncOutputLevel));
+// DO_XSYNC_FUNC(Xsync::Ins().TimecodeOutputModule_getHeadphoneOutputLevel(HeadphoneOutputLevel));
+// DO_XSYNC_FUNC(Xsync::Ins().TimecodeOutputModule_getTimecodeFormat(TimecodeFormat));
+// DO_XSYNC_FUNC(Xsync::Ins().TimecodeOutputModule_getTimecodeNow(TimecodeNow));
+
+// ui->TimecodeOutputModule_TimecodeSrcSelect->setCurrentText(QString::fromStdString(timecode_output_module::TriggerSigType2Str(TimecodeSrcSelect)));
+// ui->TimecodeOutputModule_BncOutputLevel->setCurrentText(QString::fromStdString(timecode_output_module::OutputSigLevelType2Str(BncOutputLevel)));
+// ui->TimecodeOutputModule_HeadphoneOutputLevel->setCurrentText(QString::fromStdString(timecode_output_module::OutputSigLevelType2Str(HeadphoneOutputLevel)));
+// ui->TimecodeOutputModule_TimecodeFormat->setCurrentText(QString::fromStdString(TimecodeFormatToStr(TimecodeFormat)));
+// ui->TimecodeOutputModule_TimecodeNow->setText(QString(XsyncTimecodeToStr(TimecodeNow).c_str()));
+// }
+// void MainWindow::on_TimecodeOutputModule_Update_clicked() {
+// auto TimecodeSrcSelect = timecode_output_module::Str2TriggerSigType(ui->TimecodeOutputModule_TimecodeSrcSelect->currentText().toStdString());
+// auto BncOutputLevel = timecode_output_module::Str2OutputSigLevelType(ui->TimecodeOutputModule_BncOutputLevel->currentText().toStdString());
+// auto HeadphoneOutputLevel = timecode_output_module::Str2OutputSigLevelType(ui->TimecodeOutputModule_HeadphoneOutputLevel->currentText().toStdString());
+
+// DO_XSYNC_FUNC(Xsync::Ins().TimecodeOutputModule_setTimecodeSrcSelect(TimecodeSrcSelect));
+// DO_XSYNC_FUNC(Xsync::Ins().TimecodeOutputModule_setBncOutputLevel(BncOutputLevel));
+// DO_XSYNC_FUNC(Xsync::Ins().TimecodeOutputModule_setHeadphoneOutputLevel(HeadphoneOutputLevel));
+// }
void MainWindow::on_CameraSyncPacketGeneratorModule_Update_clicked() {
auto TriggerSig = camera_sync_packet_generator_module::Str2TriggerSigType(ui->CameraSyncPacketGeneratorModule_TriggerSig->currentText().toStdString());
@@ -614,77 +667,32 @@ void MainWindow::on_CameraSyncPacketGeneratorModule_ClearPacketIndex_clicked() {
}
void MainWindow::on_TTLInputModule_Read_clicked() {
- int32_t Index = ui->TTLInputModule_Index->currentText().toInt();
- uint32_t DivideFactor;
- uint32_t FilterFactor;
+ uint32_t freq1 = 0;
+ uint32_t freq2 = 0;
+ uint32_t freq3 = 0;
+ uint32_t freq4 = 0;
bool En;
- DO_XSYNC_FUNC(Xsync::Ins().TTLInputModule_getDivideFactor(Index, DivideFactor));
- DO_XSYNC_FUNC(Xsync::Ins().TTLInputModule_getFilterFactor(Index, FilterFactor));
- DO_XSYNC_FUNC(Xsync::Ins().TTLInputModule_getEn(Index, En));
-
- ui->TTLInputModule_DivideFactor->setText(QString::number(DivideFactor));
- ui->TTLInputModule_FilterFactor->setText(QString::number(FilterFactor));
- ui->TTLInputModule_En->setText(QString::number(En));
-}
-void MainWindow::on_TTLInputModule_Update_clicked() {
- int32_t Index = ui->TTLInputModule_Index->currentText().toInt();
- uint32_t DivideFactor;
- uint32_t FilterFactor;
- bool En;
-
- DivideFactor = ui->TTLInputModule_DivideFactor->text().toUInt();
- FilterFactor = ui->TTLInputModule_FilterFactor->text().toUInt();
- En = ui->TTLInputModule_En->text().toUInt();
-
- DO_XSYNC_FUNC(Xsync::Ins().TTLInputModule_setDivideFactor(Index, DivideFactor));
- DO_XSYNC_FUNC(Xsync::Ins().TTLInputModule_setFilterFactor(Index, FilterFactor));
- DO_XSYNC_FUNC(Xsync::Ins().TTLInputModule_setEn(Index, En));
-}
-
-void MainWindow::on_TimecodeInputModule_Read_clicked() {
- TimecodeFormat_t Format;
- timecode_input_module::TriggerSigType_t TriggerSig;
- XsyncTimecode_t Timecode;
-
- DO_XSYNC_FUNC(Xsync::Ins().TimecodeInputModule_getSrcSelect(TriggerSig));
- DO_XSYNC_FUNC(Xsync::Ins().TimecodeInputModule_getTimecodeFormat(Format));
- DO_XSYNC_FUNC(Xsync::Ins().TimecodeInputModule_getTimecode(Timecode));
+ DO_XSYNC_FUNC(Xsync::Ins().TTLInputModule1_detectFreq(freq1));
+ DO_XSYNC_FUNC(Xsync::Ins().TTLInputModule2_detectFreq(freq2));
+ DO_XSYNC_FUNC(Xsync::Ins().TTLInputModule3_detectFreq(freq3));
+ DO_XSYNC_FUNC(Xsync::Ins().TTLInputModule4_detectFreq(freq4));
- // ZLOGI(TAG, "on_TimecodeInputModule_Read_clicked TriggerSig:%d Format:%d Timecode:%d %d %d %d", TriggerSig, Format, Timecode.hour, Timecode.minute, Timecode.second, Timecode.frame);
-
- ui->TimecodeInputModule_TriggerSigType->setCurrentText(QString::fromStdString(timecode_input_module::TriggerSigType2Str(TriggerSig)));
- ui->TimecodeInputModule_Format->setCurrentText(QString::fromStdString(TimecodeFormatToStr(Format)));
- ui->TimecodeInputModule_Timecode->setText(QString(XsyncTimecodeToStr(Timecode).c_str()));
-}
-void MainWindow::on_TimecodeInputModule_Update_clicked() {
- auto TriggerSig = timecode_input_module::Str2TriggerSigType(ui->TimecodeInputModule_TriggerSigType->currentText().toStdString());
- TimecodeFormat_t Format = Str2TimecodeFormat(ui->TimecodeInputModule_Format->currentText().toStdString());
+ ZLOGI(TAG, "freq1:%d freq2:%d freq3:%d freq4:%d", freq1, freq2, freq3, freq4);
- DO_XSYNC_FUNC(Xsync::Ins().TimecodeInputModule_setSrcSelect(TriggerSig));
- DO_XSYNC_FUNC(Xsync::Ins().TimecodeInputModule_setTimecodeFormat(Format));
+ ui->TTLinModule_ttl_freq_1->setText(QString::number(freq1));
+ ui->TTLinModule_ttl_freq_2->setText(QString::number(freq2));
+ ui->TTLinModule_ttl_freq_3->setText(QString::number(freq3));
+ ui->TTLinModule_ttl_freq_4->setText(QString::number(freq4));
}
-
+void MainWindow::on_TTLInputModule_Update_clicked() {}
void MainWindow::on_tabWidget_currentChanged(int index) {
- index = index + 1;
- if (index == 0) {
- } else if (index == 1) {
- on_RefreshRegsButton_clicked();
- } else if (index == 2) {
- } else if (index == 3) {
- on_TTLOutputMoudle_Read_clicked();
- } else if (index == 4) {
- on_SigGenerator_Read_clicked();
- } else if (index == 5) {
- on_TimecodeOutputModule_Read_clicked();
- } else if (index == 6) {
- on_CameraSyncPacketGeneratorModule_Read_clicked();
- } else if (index == 7) {
- on_TimecodeInputModule_Read_clicked();
- } else if (index == 8) {
- on_TTLInputModule_Read_clicked();
- }
+ on_RefreshRegsButton_clicked();
+ on_SigGenerator_Read_clicked();
+ on_CameraSyncPacketGeneratorModule_Read_clicked();
+ on_TTLInputModule_Read_clicked();
+ on_TimecodePage_Read_clicked();
}
-void MainWindow::on_TTLInputModule_Index_currentIndexChanged(int index) { on_TTLInputModule_Read_clicked(); }
-void MainWindow::on_TTLOutputMoudle_ID_currentIndexChanged(int index) { on_TTLOutputMoudle_Read_clicked(); }
+void MainWindow::on_TTLInputModule_Index_currentIndexChanged(int index) {}
+void MainWindow::on_TTLOutputMoudle_ID_currentIndexChanged(int index) {}
diff --git a/mainwindow.h b/mainwindow.h
index 9391e01..716dd53 100644
--- a/mainwindow.h
+++ b/mainwindow.h
@@ -47,6 +47,8 @@ typedef enum {
kreg_val_type_hex,
kreg_val_type_decimal,
kreg_val_type_binary,
+ kreg_val_type_freq,
+ kreg_val_type_signal,
} reg_val_type_t;
class DispalyRegIterm {
@@ -91,24 +93,20 @@ class MainWindow : public QMainWindow {
void on_Reboot_clicked();
void on_ChangeNetCfg_clicked();
- void on_WriteReg_clicked();
- void on_ReadReg_clicked();
+ // void on_WriteReg_clicked();
+ // void on_ReadReg_clicked();
void updateUI_timeCodeInfo_slot(QString);
void updateUI_cameraSyncInfo_slot(QString);
void updateUI_reg_slot(int32_t regadd, uint32_t regval);
void doinui_slot(QFunction);
- void on_TTLOutputMoudle_Read_clicked();
- void on_TTLOutputMoudle_Update_clicked();
void on_SigGenerator_Read_clicked();
void on_SigGenerator_Update_clicked();
void on_SigGenerator_Start_clicked();
void on_SigGenerator_Stop_clicked();
- void on_TimecodeOutputModule_Read_clicked();
- void on_TimecodeOutputModule_Update_clicked();
void on_CameraSyncPacketGeneratorModule_Update_clicked();
void on_CameraSyncPacketGeneratorModule_Read_clicked();
@@ -117,8 +115,8 @@ class MainWindow : public QMainWindow {
void on_TTLInputModule_Read_clicked();
void on_TTLInputModule_Update_clicked();
- void on_TimecodeInputModule_Read_clicked();
- void on_TimecodeInputModule_Update_clicked();
+ void on_TimecodePage_Read_clicked();
+ void on_TimecodePage_Update_clicked();
void on_tabWidget_currentChanged(int index);
@@ -126,7 +124,7 @@ class MainWindow : public QMainWindow {
void on_TTLOutputMoudle_ID_currentIndexChanged(int index);
-signals:
+ signals:
void append_log_signal(QString str);
void updateUI_timeCodeInfo_signal(QString);
void updateUI_cameraSyncInfo_signal(QString);
@@ -135,13 +133,12 @@ signals:
private:
void mainWindowsRun();
- void updateUI_timeCodeInfo(uint32_t regoff);
+ void updateUI_reg(uint32_t regoff);
void UI_TTLOutputMoudleConstruct();
void UI_SigGeneratorConstruct();
- void UI_TimecodeOutputModuleConstruct();
+ void UI_TimecodePageConstruct();
void UI_CameraSyncPacketGeneratorModuleConstruct();
- void UI_TimecodeInModuleConstruct();
void UI_TTLInModuleConstruct();
};
#endif // MAINWINDOW_H
diff --git a/mainwindow.ui b/mainwindow.ui
index 0040d57..ea017d1 100644
--- a/mainwindow.ui
+++ b/mainwindow.ui
@@ -6,8 +6,8 @@
0
0
- 1269
- 787
+ 1467
+ 872
@@ -18,19 +18,19 @@
10
- 490
- 981
- 251
+ 550
+ 771
+ 131
- 10
- 450
+ 790
+ 550
91
- 31
+ 131
@@ -92,17 +92,72 @@
-
+
+
+
+ 910
+ 10
+ 61
+ 31
+
+
+
+
+
+
+ 410
+ 10
+ 71
+ 31
+
+
+
+ timecode:
+
+
+
+
+
+ 630
+ 10
+ 81
+ 31
+
+
+
+ camera_sync:
+
+
+
+
+
+ 840
+ 10
+ 61
+ 31
+
+
+
+ workstate:
+
+
+
10
50
- 951
- 391
+ 881
+ 481
+
+
+ 0
+ 0
+
+
- 2
+ 3
@@ -111,10 +166,10 @@
- 110
- 10
- 671
- 311
+ 160
+ 0
+ 691
+ 631
@@ -152,7 +207,7 @@
0
0
- 652
+ 672
3000
@@ -315,60 +370,69 @@
false
-
+
+
+
+ TTLInputModule
+
+
- 20
- 180
- 101
- 31
+ 380
+ 70
+ 151
+ 41
- WriteReg
+ Update
-
+
- 20
- 220
+ 10
+ 20
101
31
- ReadReg
+ ttl1_freq
-
+
- 130
- 200
- 111
+ 10
+ 60
+ 101
31
-
-
- 75
- true
-
-
- 0x0
+ ttl2_freq
-
- false
+
+
+
+
+ 380
+ 20
+ 151
+ 41
+
+
+
+ Read
-
+
- 250
- 200
- 111
+ 110
+ 20
+ 241
31
@@ -379,58 +443,65 @@
- 0
+
false
-
-
-
- TTL输出模块3
-
-
+
- 30
- 31
- 81
+ 10
+ 100
+ 91
31
-
- -1
+
+ ttl3_freq
-
+
- 220
- 80
- 241
+ 10
+ 140
+ 91
31
-
- -1
+
+ ttl4_freq
-
+
- 220
- 130
+ 110
+ 60
241
31
+
+
+ 75
+ true
+
+
+
+
+
+
+ false
+
-
+
- 220
- 180
+ 110
+ 100
241
31
@@ -448,11 +519,11 @@
false
-
+
- 220
- 230
+ 110
+ 140
241
31
@@ -470,56 +541,530 @@
false
-
+
+
+
+ Timecode
+
+
- 500
- 130
- 151
+ 630
+ 90
+ 111
41
- Update
+ 写入配置
-
+
- 30
- 80
- 101
- 31
+ 630
+ 50
+ 111
+ 41
- InputSigType
+ 读出配置
-
+
30
- 180
- 161
- 31
+ 40
+ 251
+ 111
-
- TriggerModePulseWidth(ms)
+
+ 内部时码
+
+
+
+ 20
+ 20
+ 81
+ 31
+
+
+
+ 时码格式
+
+
+
+
+
+ 20
+ 60
+ 81
+ 31
+
+
+
+ 时码数值
+
+
+
+
+
+ 100
+ 20
+ 141
+ 31
+
+
+
+
+
+
+ 100
+ 60
+ 141
+ 31
+
+
+
+
+ 75
+ true
+
+
+
+
+
+
+ false
+
+
-
+
- 30
- 230
- 151
- 31
+ 120
+ 260
+ 301
+ 151
-
- TriggerModePulseDelay(ms)
+
+ 系统时码
+
+
+
+
+ 30
+ 20
+ 81
+ 31
+
+
+
+ 系统时码_源
+
+
+
+
+
+ 30
+ 60
+ 81
+ 31
+
+
+
+ 时码格式
+
+
+
+
+
+ 30
+ 100
+ 81
+ 31
+
+
+
+ 时码数值
+
+
+
+
+
+ 130
+ 20
+ 141
+ 31
+
+
+
+
+
+
+ 130
+ 100
+ 141
+ 31
+
+
+
+
+ 75
+ true
+
+
+
+
+
+
+ true
+
+
+
+
+
+ 130
+ 60
+ 141
+ 31
+
+
+
+
+ 75
+ true
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+ 320
+ 40
+ 251
+ 151
+
+
+
+ 外部时码
+
+
+
+
+ 20
+ 60
+ 81
+ 31
+
+
+
+ 时码格式
+
+
+
+
+
+ 100
+ 60
+ 141
+ 31
+
+
+
+
+
+
+ 100
+ 100
+ 141
+ 31
+
+
+
+
+ 75
+ true
+
+
+
+
+
+
+ true
+
+
+
+
+
+ 20
+ 100
+ 51
+ 31
+
+
+
+ 时码数值
+
+
+
+
+
+ 100
+ 20
+ 141
+ 31
+
+
+
+
+
+
+ 20
+ 20
+ 81
+ 31
+
+
+
+ 时码源
+
+
+
+
+
+
+ 150
+ 230
+ 261
+ 20
+
+
+
+ Qt::Horizontal
+
+
+
+
+
+ 140
+ 150
+ 20
+ 91
+
+
+
+ ArrowCursor
+
+
+ Qt::Vertical
+
+
+
+
+
+ 400
+ 190
+ 20
+ 51
+
+
+
+ ArrowCursor
+
+
+ Qt::Vertical
+
+
+
+
+
+ 260
+ 241
+ 20
+ 20
+
+
+
+ ArrowCursor
+
+
+ Qt::Vertical
+
+
+
+
+
+ 160
+ 170
+ 16
+ 21
+
+
+
+ 0
+
+
+
+
+
+ 390
+ 200
+ 16
+ 21
+
+
+
+ 1
+
+
+
+
+
+ TTL输出模块3
+
+
+
+
+ 30
+ 31
+ 81
+ 31
+
+
+
+ -1
+
+
+
+
+
+ 220
+ 80
+ 241
+ 31
+
+
+
+ -1
+
+
+
+
+
+ 220
+ 130
+ 241
+ 31
+
+
+
+
+
+
+ 220
+ 180
+ 241
+ 31
+
+
+
+
+ 75
+ true
+
+
+
+
+
+
+ false
+
+
+
+
+
+ 220
+ 230
+ 241
+ 31
+
+
+
+
+ 75
+ true
+
+
+
+
+
+
+ false
+
+
+
+
+
+ 500
+ 130
+ 151
+ 41
+
+
+
+ Update
+
+
+
+
+
+ 30
+ 80
+ 101
+ 31
+
+
+
+ InputSigType
+
+
+
+
+
+ 30
+ 180
+ 161
+ 31
+
+
+
+ TriggerModePulseWidth(ms)
+
+
+
+
+
+ 30
+ 230
+ 151
+ 31
+
+
+
+ TriggerModePulseDelay(ms)
@@ -777,201 +1322,37 @@
-
+
- TIMECODE输出模块5
+ 相机同步消息上报6
-
+
- 30
- 210
- 151
+ 210
+ 50
+ 241
31
-
- TimecodeFormat
+
+ -1
-
+
- 30
- 60
- 101
- 31
+ 490
+ 50
+ 151
+ 41
- TriggerSigType
+ Read
-
-
-
- 500
- 110
- 151
- 41
-
-
-
- Update
-
-
-
-
-
- 30
- 110
- 101
- 31
-
-
-
- BncOutLevel
-
-
-
-
-
- 30
- 160
- 161
- 31
-
-
-
- HeadphoneOutLevel
-
-
-
-
-
- 500
- 60
- 151
- 41
-
-
-
- Read
-
-
-
-
-
- 220
- 60
- 241
- 31
-
-
-
- -1
-
-
-
-
-
- 220
- 110
- 241
- 31
-
-
-
-
-
-
- 220
- 160
- 241
- 31
-
-
-
-
-
-
- 220
- 210
- 241
- 31
-
-
-
- true
-
-
-
-
-
- 30
- 260
- 151
- 31
-
-
-
- Timecode
-
-
-
-
-
- 220
- 260
- 241
- 31
-
-
-
-
- 75
- true
-
-
-
-
-
-
- false
-
-
-
-
-
- 相机同步消息上报6
-
-
-
-
- 210
- 50
- 241
- 31
-
-
-
- -1
-
-
-
-
-
- 490
- 50
- 151
- 41
-
-
-
- Read
-
-
-
+
20
@@ -1069,319 +1450,6 @@
-
-
- 时码输入模块7
-
-
-
-
- 250
- 90
- 241
- 31
-
-
-
-
-
-
- 250
- 40
- 241
- 31
-
-
-
- -1
-
-
-
-
-
- 530
- 90
- 151
- 41
-
-
-
- Update
-
-
-
-
-
- 60
- 90
- 151
- 31
-
-
-
- TimecodeFormat
-
-
-
-
-
- 530
- 40
- 151
- 41
-
-
-
- Read
-
-
-
-
-
- 60
- 40
- 101
- 31
-
-
-
- TriggerSigType
-
-
-
-
-
- 60
- 140
- 151
- 31
-
-
-
- Timecode
-
-
-
-
-
- 250
- 140
- 241
- 31
-
-
-
-
- 75
- true
-
-
-
-
-
-
- false
-
-
-
-
-
- TTL输入8
-
-
-
-
- 30
- 70
- 101
- 31
-
-
-
- En
-
-
-
-
-
- 500
- 120
- 151
- 41
-
-
-
- Update
-
-
-
-
-
- 30
- 120
- 101
- 31
-
-
-
- FilterFactor(us)
-
-
-
-
-
- 30
- 170
- 161
- 31
-
-
-
- DivideFactor(count)
-
-
-
-
-
- 220
- 170
- 241
- 31
-
-
-
-
- 75
- true
-
-
-
-
-
-
- false
-
-
-
-
-
- 500
- 70
- 151
- 41
-
-
-
- Read
-
-
-
-
-
- 30
- 21
- 81
- 31
-
-
-
- -1
-
-
-
-
-
- 220
- 120
- 241
- 31
-
-
-
-
- 75
- true
-
-
-
-
-
-
- false
-
-
-
-
-
- 220
- 80
- 241
- 31
-
-
-
-
- 75
- true
-
-
-
-
-
-
- false
-
-
-
-
-
-
-
- 910
- 10
- 61
- 31
-
-
-
-
-
-
- 410
- 10
- 71
- 31
-
-
-
- timecode:
-
-
-
-
-
- 630
- 10
- 81
- 31
-
-
-
- camera_sync:
-
-
-
-
-
- 840
- 10
- 61
- 31
-
-
-
- workstate:
-