Browse Source

timecode line is ok

master
zhaohe 1 year ago
parent
commit
947bf9fd3c
  1. 3
      CMakeLists.txt
  2. 2
      libxsync
  3. 534
      mainwindow.cpp
  4. 19
      mainwindow.h
  5. 1050
      mainwindow.ui

3
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
)

2
libxsync

@ -1 +1 @@
Subproject commit 852470380e9fb47c02af3945bed70053e0427852
Subproject commit 82fd6434b8606480f4c9c687416af0b842388958

534
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;
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;
uint32_t freq1 = 0;
uint32_t freq2 = 0;
uint32_t freq3 = 0;
uint32_t freq4 = 0;
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);
ZLOGI(TAG, "freq1:%d freq2:%d freq3:%d freq4:%d", freq1, freq2, freq3, freq4);
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()));
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_TimecodeInputModule_Update_clicked() {
auto TriggerSig = timecode_input_module::Str2TriggerSigType(ui->TimecodeInputModule_TriggerSigType->currentText().toStdString());
TimecodeFormat_t Format = Str2TimecodeFormat(ui->TimecodeInputModule_Format->currentText().toStdString());
DO_XSYNC_FUNC(Xsync::Ins().TimecodeInputModule_setSrcSelect(TriggerSig));
DO_XSYNC_FUNC(Xsync::Ins().TimecodeInputModule_setTimecodeFormat(Format));
}
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_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) {}

19
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);
@ -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

1050
mainwindow.ui
File diff suppressed because it is too large
View File

Loading…
Cancel
Save