11 changed files with 771 additions and 99 deletions
-
1CMakeLists.txt
-
6CMakeLists.txt.user
-
176mainwindow.cpp
-
9mainwindow.h
-
83mainwindow.ui
-
39src/camera_light_src_timing_controller/clst_controler.cpp
-
16src/camera_light_src_timing_controller/clst_controler.hpp
-
81src/camera_light_src_timing_controller/clst_controler_sig_type.cpp
-
419src/camera_light_src_timing_controller/reginfo.cpp
-
38src/camera_light_src_timing_controller/reginfo.hpp
-
2src/version.h
@ -0,0 +1,419 @@ |
|||
#include "reginfo.hpp"
|
|||
|
|||
#include "zaf_protocol\zaf_regs.hpp"
|
|||
|
|||
using namespace iflytop; |
|||
|
|||
namespace iflytop { |
|||
namespace clst { |
|||
using namespace std; |
|||
|
|||
// kreg_software_version = 0,
|
|||
// kreg_manufacturer0 = 1,
|
|||
// kreg_manufacturer1 = 2,
|
|||
// kreg_product_type_id = 3,
|
|||
// kreg_sn_id0 = 4,
|
|||
// kreg_sn_id1 = 5,
|
|||
// kreg_sn_id2 = 6,
|
|||
// kreg_mac0 = 7,
|
|||
// kreg_mac1 = 8,
|
|||
|
|||
// kreg_fpga_version = REGADDOFF__FPGA_INFO + 1,
|
|||
|
|||
// /**
|
|||
// * @brief
|
|||
// * REG 16(32) STM32配置寄存器0
|
|||
// */
|
|||
// kreg_stm32_obtaining_ip_mode = REGADD__STM32_COMMON + 0,
|
|||
// kreg_stm32_ip = REGADD__STM32_COMMON + 1,
|
|||
// kreg_stm32_gw = REGADD__STM32_COMMON + 2,
|
|||
// kreg_stm32_netmask = REGADD__STM32_COMMON + 3,
|
|||
// kreg_stm32_config0 = REGADD__STM32_COMMON + 4, // bit0: timecode report enable, bit1: camera sync report enable
|
|||
|
|||
// kreg_stm32_action0 = REGADD__STM32_COMMON + 14, // action reg
|
|||
// kreg_stm32_action_val0 = REGADD__STM32_COMMON + 15, // action val reg
|
|||
|
|||
// kreg_stm32_temperature = REGADD__STM32_BUSINESS + 0,
|
|||
// kreg_stm32_fan0_error_flag = REGADD__STM32_BUSINESS + 1,
|
|||
|
|||
// /*******************************************************************************
|
|||
// * 内部时钟源 *
|
|||
// *******************************************************************************/
|
|||
|
|||
// kreg_internal_clk_module = REGADDOFF__INTERNAL_CLK,
|
|||
// kreg_internal_clk_ctrl = REGADDOFF__INTERNAL_CLK + 1,
|
|||
// kreg_internal_clk_freq_cnt = REGADDOFF__INTERNAL_CLK + 2,
|
|||
// kreg_internal_clk_pluse_cnt = REGADDOFF__INTERNAL_CLK + 3,
|
|||
// kreg_internal_clk_output_sig_detect = REGADDOFF__INTERNAL_CLK + 15,
|
|||
|
|||
// kreg_internal_clk_tri_module = REGADDOFF__INTERNAL_TRIGGER,
|
|||
// kreg_internal_clk_tri_src_slect = REGADDOFF__INTERNAL_TRIGGER + 1,
|
|||
// kreg_internal_clk_tri_fileter_coefficient = REGADDOFF__INTERNAL_TRIGGER + 2,
|
|||
// kreg_internal_clk_tri_freq_detect_bias = REGADDOFF__INTERNAL_TRIGGER + 3,
|
|||
// kreg_internal_clk_tri_mode = REGADDOFF__INTERNAL_TRIGGER + 4,
|
|||
// kreg_internal_clk_tri_trigger_mode_trigger_edge = REGADDOFF__INTERNAL_TRIGGER + 5,
|
|||
// kreg_internal_clk_tri_trigger_mode_freq_division = REGADDOFF__INTERNAL_TRIGGER + 6,
|
|||
// kreg_internal_clk_tri_trigger_mode_freq_multiplication = REGADDOFF__INTERNAL_TRIGGER + 7,
|
|||
// kreg_internal_clk_tri_sequential_control_pluse_cnt_max = REGADDOFF__INTERNAL_TRIGGER + 10,
|
|||
// kreg_internal_clk_tri_in_signal_freq = REGADDOFF__INTERNAL_TRIGGER + 14,
|
|||
// kreg_internal_clk_tri_out_signal_freq = REGADDOFF__INTERNAL_TRIGGER + 15,
|
|||
|
|||
// /*******************************************************************************
|
|||
// * reg_trigger_in *
|
|||
// *******************************************************************************/
|
|||
|
|||
// kreg_trigger_in1_module = REGADDOFF__TRIGGER_IN1,
|
|||
// kreg_trigger_in1_src_slect = REGADDOFF__TRIGGER_IN1 + 1,
|
|||
// kreg_trigger_in1_fileter_coefficient = REGADDOFF__TRIGGER_IN1 + 2, // 滤波系数,单位是10ns
|
|||
// kreg_trigger_in1_freq_detect_bias = REGADDOFF__TRIGGER_IN1 + 3,
|
|||
// kreg_trigger_in1_mode = REGADDOFF__TRIGGER_IN1 + 4, // mode 0:触发 1:转发模式
|
|||
// kreg_trigger_in1_trigger_mode_trigger_edge = REGADDOFF__TRIGGER_IN1 + 5,
|
|||
// kreg_trigger_in1_trigger_mode_freq_division = REGADDOFF__TRIGGER_IN1 + 6,
|
|||
// kreg_trigger_in1_trigger_mode_freq_multiplication = REGADDOFF__TRIGGER_IN1 + 7,
|
|||
// kreg_trigger_in1_sequential_control_pluse_cnt_max = REGADDOFF__TRIGGER_IN1 + 10, // 顺序控制信号最大计数
|
|||
// kreg_trigger_in1_in_signal_freq = REGADDOFF__TRIGGER_IN1 + 14,
|
|||
// kreg_trigger_in1_out_signal_freq = REGADDOFF__TRIGGER_IN1 + 15,
|
|||
|
|||
// kreg_trigger_in2_module = REGADDOFF__TRIGGER_IN2,
|
|||
// kreg_trigger_in2_src_slect = REGADDOFF__TRIGGER_IN2 + 1,
|
|||
// kreg_trigger_in2_fileter_coefficient = REGADDOFF__TRIGGER_IN2 + 2,
|
|||
// kreg_trigger_in2_freq_detect_bias = REGADDOFF__TRIGGER_IN2 + 3,
|
|||
// kreg_trigger_in2_mode = REGADDOFF__TRIGGER_IN2 + 4,
|
|||
// kreg_trigger_in2_trigger_mode_trigger_edge = REGADDOFF__TRIGGER_IN2 + 5,
|
|||
// kreg_trigger_in2_trigger_mode_freq_division = REGADDOFF__TRIGGER_IN2 + 6,
|
|||
// kreg_trigger_in2_trigger_mode_freq_multiplication = REGADDOFF__TRIGGER_IN2 + 7,
|
|||
// kreg_trigger_in2_sequential_control_pluse_cnt_max = REGADDOFF__TRIGGER_IN2 + 10,
|
|||
// kreg_trigger_in2_in_signal_freq = REGADDOFF__TRIGGER_IN2 + 14,
|
|||
// kreg_trigger_in2_out_signal_freq = REGADDOFF__TRIGGER_IN2 + 15,
|
|||
|
|||
// kreg_trigger_in3_module = REGADDOFF__TRIGGER_IN3,
|
|||
// kreg_trigger_in3_src_slect = REGADDOFF__TRIGGER_IN3 + 1,
|
|||
// kreg_trigger_in3_fileter_coefficient = REGADDOFF__TRIGGER_IN3 + 2,
|
|||
// kreg_trigger_in3_freq_detect_bias = REGADDOFF__TRIGGER_IN3 + 3,
|
|||
// kreg_trigger_in3_mode = REGADDOFF__TRIGGER_IN3 + 4,
|
|||
// kreg_trigger_in3_trigger_mode_trigger_edge = REGADDOFF__TRIGGER_IN3 + 5,
|
|||
// kreg_trigger_in3_trigger_mode_freq_division = REGADDOFF__TRIGGER_IN3 + 6,
|
|||
// kreg_trigger_in3_trigger_mode_freq_multiplication = REGADDOFF__TRIGGER_IN3 + 7,
|
|||
// kreg_trigger_in3_sequential_control_pluse_cnt_max = REGADDOFF__TRIGGER_IN3 + 10,
|
|||
// kreg_trigger_in3_in_signal_freq = REGADDOFF__TRIGGER_IN3 + 14,
|
|||
// kreg_trigger_in3_out_signal_freq = REGADDOFF__TRIGGER_IN3 + 15,
|
|||
|
|||
// kreg_trigger_in4_module = REGADDOFF__TRIGGER_IN4,
|
|||
// kreg_trigger_in4_src_slect = REGADDOFF__TRIGGER_IN4 + 1,
|
|||
// kreg_trigger_in4_fileter_coefficient = REGADDOFF__TRIGGER_IN4 + 2,
|
|||
// kreg_trigger_in4_freq_detect_bias = REGADDOFF__TRIGGER_IN4 + 3,
|
|||
// kreg_trigger_in4_mode = REGADDOFF__TRIGGER_IN4 + 4,
|
|||
// kreg_trigger_in4_trigger_mode_trigger_edge = REGADDOFF__TRIGGER_IN4 + 5,
|
|||
// kreg_trigger_in4_trigger_mode_freq_division = REGADDOFF__TRIGGER_IN4 + 6,
|
|||
// kreg_trigger_in4_trigger_mode_freq_multiplication = REGADDOFF__TRIGGER_IN4 + 7,
|
|||
// kreg_trigger_in4_sequential_control_pluse_cnt_max = REGADDOFF__TRIGGER_IN4 + 10,
|
|||
// kreg_trigger_in4_in_signal_freq = REGADDOFF__TRIGGER_IN4 + 14,
|
|||
// kreg_trigger_in4_out_signal_freq = REGADDOFF__TRIGGER_IN4 + 15,
|
|||
|
|||
// /*******************************************************************************
|
|||
// * 快门控制输出 *
|
|||
// *******************************************************************************/
|
|||
|
|||
// kreg_ttl_output_module1 = REGADDOFF__TTL_OUTPUT_MODULE1,
|
|||
// kreg_ttl_output_module1_output_ctrl_mode = REGADDOFF__TTL_OUTPUT_MODULE1 + 1,
|
|||
// kreg_ttl_output_module1_lt_en_bind = REGADDOFF__TTL_OUTPUT_MODULE1 + 2,
|
|||
// kreg_ttl_output_module1_lt_en_offset = REGADDOFF__TTL_OUTPUT_MODULE1 + 3,
|
|||
// kreg_ttl_output_module1_in_sig_select = REGADDOFF__TTL_OUTPUT_MODULE1 + 4,
|
|||
// kreg_ttl_output_module1_out_polarity_reversal = REGADDOFF__TTL_OUTPUT_MODULE1 + 5,
|
|||
|
|||
// kreg_ttl_output_module2 = REGADDOFF__TTL_OUTPUT_MODULE2,
|
|||
// kreg_ttl_output_module2_output_ctrl_mode = REGADDOFF__TTL_OUTPUT_MODULE2 + 1,
|
|||
// kreg_ttl_output_module2_lt_en_bind = REGADDOFF__TTL_OUTPUT_MODULE2 + 2,
|
|||
// kreg_ttl_output_module2_lt_en_offset = REGADDOFF__TTL_OUTPUT_MODULE2 + 3,
|
|||
// kreg_ttl_output_module2_in_sig_select = REGADDOFF__TTL_OUTPUT_MODULE2 + 4,
|
|||
// kreg_ttl_output_module2_out_polarity_reversal = REGADDOFF__TTL_OUTPUT_MODULE2 + 5,
|
|||
|
|||
// kreg_ttl_output_module3 = REGADDOFF__TTL_OUTPUT_MODULE3,
|
|||
// kreg_ttl_output_module3_output_ctrl_mode = REGADDOFF__TTL_OUTPUT_MODULE3 + 1,
|
|||
// kreg_ttl_output_module3_lt_en_bind = REGADDOFF__TTL_OUTPUT_MODULE3 + 2,
|
|||
// kreg_ttl_output_module3_lt_en_offset = REGADDOFF__TTL_OUTPUT_MODULE3 + 3,
|
|||
// kreg_ttl_output_module3_in_sig_select = REGADDOFF__TTL_OUTPUT_MODULE3 + 4,
|
|||
// kreg_ttl_output_module3_out_polarity_reversal = REGADDOFF__TTL_OUTPUT_MODULE3 + 5,
|
|||
|
|||
// kreg_ttl_output_module4 = REGADDOFF__TTL_OUTPUT_MODULE4,
|
|||
// kreg_ttl_output_module4_output_ctrl_mode = REGADDOFF__TTL_OUTPUT_MODULE4 + 1,
|
|||
// kreg_ttl_output_module4_lt_en_bind = REGADDOFF__TTL_OUTPUT_MODULE4 + 2,
|
|||
// kreg_ttl_output_module4_lt_en_offset = REGADDOFF__TTL_OUTPUT_MODULE4 + 3,
|
|||
// kreg_ttl_output_module4_in_sig_select = REGADDOFF__TTL_OUTPUT_MODULE4 + 4,
|
|||
// kreg_ttl_output_module4_out_polarity_reversal = REGADDOFF__TTL_OUTPUT_MODULE4 + 5,
|
|||
|
|||
// /*******************************************************************************
|
|||
// * 光源控制 *
|
|||
// *******************************************************************************/
|
|||
// kreg_light_ctrol_module1 = REGADDOFF__LIGHT_CTROL_MODULE1,
|
|||
// kreg_light_ctrol_module1_source_select = REGADDOFF__LIGHT_CTROL_MODULE1 + 1,
|
|||
// kreg_light_ctrol_module1_en_sig_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE1 + 2,
|
|||
// kreg_light_ctrol_module1_light_intensity_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE1 + 3,
|
|||
// kreg_light_ctrol_module1_trigger_mode_pluse_num = REGADDOFF__LIGHT_CTROL_MODULE1 + 4,
|
|||
// kreg_light_ctrol_module1_trigger_mode_pluse_interval = REGADDOFF__LIGHT_CTROL_MODULE1 + 5,
|
|||
// kreg_light_ctrol_module1_trigger_mode_pluse_width = REGADDOFF__LIGHT_CTROL_MODULE1 + 6,
|
|||
// kreg_light_ctrol_module1_trigger_mode_first_pluse_offset = REGADDOFF__LIGHT_CTROL_MODULE1 + 7,
|
|||
// kreg_light_ctrol_module1_trigger_mode_output_polarity = REGADDOFF__LIGHT_CTROL_MODULE1 + 8, // 无用
|
|||
// kreg_light_ctrol_module1_light_intensity_cnt = REGADDOFF__LIGHT_CTROL_MODULE1 + 9,
|
|||
// kreg_light_ctrol_module1_light_driver_freq_cnt = REGADDOFF__LIGHT_CTROL_MODULE1 + 10,
|
|||
// kreg_light_ctrol_module1_freq_detect_bias = REGADDOFF__LIGHT_CTROL_MODULE1 + 12,
|
|||
// kreg_light_ctrol_module1_light_src_error_state = REGADDOFF__LIGHT_CTROL_MODULE1 + 13,
|
|||
// kreg_light_ctrol_module1_in_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE1 + 14,
|
|||
// kreg_light_ctrol_module1_out_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE1 + 15,
|
|||
|
|||
// kreg_light_ctrol_module2 = REGADDOFF__LIGHT_CTROL_MODULE2,
|
|||
// kreg_light_ctrol_module2_source_select = REGADDOFF__LIGHT_CTROL_MODULE2 + 1,
|
|||
// kreg_light_ctrol_module2_en_sig_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE2 + 2,
|
|||
// kreg_light_ctrol_module2_light_intensity_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE2 + 3,
|
|||
// kreg_light_ctrol_module2_trigger_mode_pluse_num = REGADDOFF__LIGHT_CTROL_MODULE2 + 4,
|
|||
// kreg_light_ctrol_module2_trigger_mode_pluse_interval = REGADDOFF__LIGHT_CTROL_MODULE2 + 5,
|
|||
// kreg_light_ctrol_module2_trigger_mode_pluse_width = REGADDOFF__LIGHT_CTROL_MODULE2 + 6,
|
|||
// kreg_light_ctrol_module2_trigger_mode_first_pluse_offset = REGADDOFF__LIGHT_CTROL_MODULE2 + 7,
|
|||
// kreg_light_ctrol_module2_trigger_mode_output_polarity = REGADDOFF__LIGHT_CTROL_MODULE2 + 8,
|
|||
// kreg_light_ctrol_module2_light_intensity_cnt = REGADDOFF__LIGHT_CTROL_MODULE2 + 9,
|
|||
// kreg_light_ctrol_module2_light_driver_freq_cnt = REGADDOFF__LIGHT_CTROL_MODULE2 + 10,
|
|||
// kreg_light_ctrol_module2_freq_detect_bias = REGADDOFF__LIGHT_CTROL_MODULE2 + 12,
|
|||
// kreg_light_ctrol_module2_light_src_error_state = REGADDOFF__LIGHT_CTROL_MODULE2 + 13,
|
|||
// kreg_light_ctrol_module2_in_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE2 + 14,
|
|||
// kreg_light_ctrol_module2_out_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE2 + 15,
|
|||
|
|||
// kreg_light_ctrol_module3 = REGADDOFF__LIGHT_CTROL_MODULE3,
|
|||
// kreg_light_ctrol_module3_source_select = REGADDOFF__LIGHT_CTROL_MODULE3 + 1,
|
|||
// kreg_light_ctrol_module3_en_sig_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE3 + 2,
|
|||
// kreg_light_ctrol_module3_light_intensity_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE3 + 3,
|
|||
// kreg_light_ctrol_module3_trigger_mode_pluse_num = REGADDOFF__LIGHT_CTROL_MODULE3 + 4,
|
|||
// kreg_light_ctrol_module3_trigger_mode_pluse_interval = REGADDOFF__LIGHT_CTROL_MODULE3 + 5,
|
|||
// kreg_light_ctrol_module3_trigger_mode_pluse_width = REGADDOFF__LIGHT_CTROL_MODULE3 + 6,
|
|||
// kreg_light_ctrol_module3_trigger_mode_first_pluse_offset = REGADDOFF__LIGHT_CTROL_MODULE3 + 7,
|
|||
// kreg_light_ctrol_module3_trigger_mode_output_polarity = REGADDOFF__LIGHT_CTROL_MODULE3 + 8,
|
|||
// kreg_light_ctrol_module3_light_intensity_cnt = REGADDOFF__LIGHT_CTROL_MODULE3 + 9,
|
|||
// kreg_light_ctrol_module3_light_driver_freq_cnt = REGADDOFF__LIGHT_CTROL_MODULE3 + 10,
|
|||
// kreg_light_ctrol_module3_freq_detect_bias = REGADDOFF__LIGHT_CTROL_MODULE3 + 12,
|
|||
// kreg_light_ctrol_module3_light_src_error_state = REGADDOFF__LIGHT_CTROL_MODULE3 + 13,
|
|||
// kreg_light_ctrol_module3_in_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE3 + 14,
|
|||
// kreg_light_ctrol_module3_out_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE3 + 15,
|
|||
|
|||
// kreg_light_ctrol_module4 = REGADDOFF__LIGHT_CTROL_MODULE4,
|
|||
// kreg_light_ctrol_module4_source_select = REGADDOFF__LIGHT_CTROL_MODULE4 + 1,
|
|||
// kreg_light_ctrol_module4_en_sig_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE4 + 2,
|
|||
// kreg_light_ctrol_module4_light_intensity_ctrl_mode = REGADDOFF__LIGHT_CTROL_MODULE4 + 3,
|
|||
// kreg_light_ctrol_module4_trigger_mode_pluse_num = REGADDOFF__LIGHT_CTROL_MODULE4 + 4,
|
|||
// kreg_light_ctrol_module4_trigger_mode_pluse_interval = REGADDOFF__LIGHT_CTROL_MODULE4 + 5,
|
|||
// kreg_light_ctrol_module4_trigger_mode_pluse_width = REGADDOFF__LIGHT_CTROL_MODULE4 + 6,
|
|||
// kreg_light_ctrol_module4_trigger_mode_first_pluse_offset = REGADDOFF__LIGHT_CTROL_MODULE4 + 7,
|
|||
// kreg_light_ctrol_module4_trigger_mode_output_polarity = REGADDOFF__LIGHT_CTROL_MODULE4 + 8,
|
|||
// kreg_light_ctrol_module4_light_intensity_cnt = REGADDOFF__LIGHT_CTROL_MODULE4 + 9,
|
|||
// kreg_light_ctrol_module4_light_driver_freq_cnt = REGADDOFF__LIGHT_CTROL_MODULE4 + 10,
|
|||
// kreg_light_ctrol_module4_freq_detect_bias = REGADDOFF__LIGHT_CTROL_MODULE4 + 12,
|
|||
// kreg_light_ctrol_module4_light_src_error_state = REGADDOFF__LIGHT_CTROL_MODULE4 + 13,
|
|||
// kreg_light_ctrol_module4_in_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE4 + 14,
|
|||
// kreg_light_ctrol_module4_out_sig_freq_detect = REGADDOFF__LIGHT_CTROL_MODULE4 + 15,
|
|||
|
|||
static map<uint32_t, Reginfo> reginfo_map = { |
|||
{kreg_software_version, {}}, |
|||
{kreg_manufacturer0, {}}, |
|||
{kreg_manufacturer1, {}}, |
|||
{kreg_product_type_id, {}}, |
|||
{kreg_sn_id0, {}}, |
|||
{kreg_sn_id1, {}}, |
|||
{kreg_sn_id2, {}}, |
|||
{kreg_mac0, {}}, |
|||
{kreg_mac1, {}}, |
|||
{kreg_fpga_version, {}}, |
|||
{kreg_stm32_obtaining_ip_mode, {}}, |
|||
{kreg_stm32_ip, {}}, |
|||
{kreg_stm32_gw, {}}, |
|||
{kreg_stm32_netmask, {}}, |
|||
{kreg_stm32_config0, {}}, |
|||
{kreg_stm32_action0, {}}, |
|||
{kreg_stm32_action_val0, {}}, |
|||
{kreg_stm32_temperature, {}}, |
|||
{kreg_stm32_fan0_error_flag, {}}, |
|||
{kreg_internal_clk_module, {}}, |
|||
{kreg_internal_clk_ctrl, {}}, |
|||
{kreg_internal_clk_freq_cnt, {}}, |
|||
{kreg_internal_clk_pluse_cnt, {}}, |
|||
{kreg_internal_clk_output_sig_detect, {}}, |
|||
{kreg_internal_clk_tri_module, {}}, |
|||
{kreg_internal_clk_tri_src_slect, {}}, |
|||
{kreg_internal_clk_tri_fileter_coefficient, {}}, |
|||
{kreg_internal_clk_tri_freq_detect_bias, {}}, |
|||
{kreg_internal_clk_tri_mode, {}}, |
|||
{kreg_internal_clk_tri_trigger_mode_trigger_edge, {}}, |
|||
{kreg_internal_clk_tri_trigger_mode_freq_division, {}}, |
|||
{kreg_internal_clk_tri_trigger_mode_freq_multiplication, {}}, |
|||
{kreg_internal_clk_tri_sequential_control_pluse_cnt_max, {}}, |
|||
{kreg_internal_clk_tri_in_signal_freq, {}}, |
|||
{kreg_internal_clk_tri_out_signal_freq, {}}, |
|||
{kreg_trigger_in1_module, {}}, |
|||
{kreg_trigger_in1_src_slect, {}}, |
|||
{kreg_trigger_in1_fileter_coefficient, {}}, |
|||
{kreg_trigger_in1_freq_detect_bias, {}}, |
|||
{kreg_trigger_in1_mode, {}}, |
|||
{kreg_trigger_in1_trigger_mode_trigger_edge, {}}, |
|||
{kreg_trigger_in1_trigger_mode_freq_division, {}}, |
|||
{kreg_trigger_in1_trigger_mode_freq_multiplication, {}}, |
|||
{kreg_trigger_in1_sequential_control_pluse_cnt_max, {}}, |
|||
{kreg_trigger_in1_in_signal_freq, {}}, |
|||
{kreg_trigger_in1_out_signal_freq, {}}, |
|||
{kreg_trigger_in2_module, {}}, |
|||
{kreg_trigger_in2_src_slect, {}}, |
|||
{kreg_trigger_in2_fileter_coefficient, {}}, |
|||
{kreg_trigger_in2_freq_detect_bias, {}}, |
|||
{kreg_trigger_in2_mode, {}}, |
|||
{kreg_trigger_in2_trigger_mode_trigger_edge, {}}, |
|||
{kreg_trigger_in2_trigger_mode_freq_division, {}}, |
|||
{kreg_trigger_in2_trigger_mode_freq_multiplication, {}}, |
|||
{kreg_trigger_in2_sequential_control_pluse_cnt_max, {}}, |
|||
{kreg_trigger_in2_in_signal_freq, {}}, |
|||
{kreg_trigger_in2_out_signal_freq, {}}, |
|||
{kreg_trigger_in3_module, {}}, |
|||
{kreg_trigger_in3_src_slect, {}}, |
|||
{kreg_trigger_in3_fileter_coefficient, {}}, |
|||
{kreg_trigger_in3_freq_detect_bias, {}}, |
|||
{kreg_trigger_in3_mode, {}}, |
|||
{kreg_trigger_in3_trigger_mode_trigger_edge, {}}, |
|||
{kreg_trigger_in3_trigger_mode_freq_division, {}}, |
|||
{kreg_trigger_in3_trigger_mode_freq_multiplication, {}}, |
|||
{kreg_trigger_in3_sequential_control_pluse_cnt_max, {}}, |
|||
{kreg_trigger_in3_in_signal_freq, {}}, |
|||
{kreg_trigger_in3_out_signal_freq, {}}, |
|||
{kreg_trigger_in4_module, {}}, |
|||
{kreg_trigger_in4_src_slect, {}}, |
|||
{kreg_trigger_in4_fileter_coefficient, {}}, |
|||
{kreg_trigger_in4_freq_detect_bias, {}}, |
|||
{kreg_trigger_in4_mode, {}}, |
|||
{kreg_trigger_in4_trigger_mode_trigger_edge, {}}, |
|||
{kreg_trigger_in4_trigger_mode_freq_division, {}}, |
|||
{kreg_trigger_in4_trigger_mode_freq_multiplication, {}}, |
|||
{kreg_trigger_in4_sequential_control_pluse_cnt_max, {}}, |
|||
{kreg_trigger_in4_in_signal_freq, {}}, |
|||
{kreg_trigger_in4_out_signal_freq, {}}, |
|||
{kreg_ttl_output_module1, {}}, |
|||
{kreg_ttl_output_module1_output_ctrl_mode, {}}, |
|||
{kreg_ttl_output_module1_lt_en_bind, {}}, |
|||
{kreg_ttl_output_module1_lt_en_offset, {}}, |
|||
{kreg_ttl_output_module1_in_sig_select, {}}, |
|||
{kreg_ttl_output_module1_out_polarity_reversal, {}}, |
|||
{kreg_ttl_output_module2, {}}, |
|||
{kreg_ttl_output_module2_output_ctrl_mode, {}}, |
|||
{kreg_ttl_output_module2_lt_en_bind, {}}, |
|||
{kreg_ttl_output_module2_lt_en_offset, {}}, |
|||
{kreg_ttl_output_module2_in_sig_select, {}}, |
|||
{kreg_ttl_output_module2_out_polarity_reversal, {}}, |
|||
{kreg_ttl_output_module3, {}}, |
|||
{kreg_ttl_output_module3_output_ctrl_mode, {}}, |
|||
{kreg_ttl_output_module3_lt_en_bind, {}}, |
|||
{kreg_ttl_output_module3_lt_en_offset, {}}, |
|||
{kreg_ttl_output_module3_in_sig_select, {}}, |
|||
{kreg_ttl_output_module3_out_polarity_reversal, {}}, |
|||
{kreg_ttl_output_module4, {}}, |
|||
{kreg_ttl_output_module4_output_ctrl_mode, {}}, |
|||
{kreg_ttl_output_module4_lt_en_bind, {}}, |
|||
{kreg_ttl_output_module4_lt_en_offset, {}}, |
|||
{kreg_ttl_output_module4_in_sig_select, {}}, |
|||
{kreg_ttl_output_module4_out_polarity_reversal, {}}, |
|||
{kreg_light_ctrol_module1, {}}, |
|||
{kreg_light_ctrol_module1_source_select, {}}, |
|||
{kreg_light_ctrol_module1_en_sig_ctrl_mode, {}}, |
|||
{kreg_light_ctrol_module1_light_intensity_ctrl_mode, {}}, |
|||
{kreg_light_ctrol_module1_trigger_mode_pluse_num, {}}, |
|||
{kreg_light_ctrol_module1_trigger_mode_pluse_interval, {}}, |
|||
{kreg_light_ctrol_module1_trigger_mode_pluse_width, {}}, |
|||
{kreg_light_ctrol_module1_trigger_mode_first_pluse_offset, {}}, |
|||
{kreg_light_ctrol_module1_trigger_mode_output_polarity, {}}, |
|||
{kreg_light_ctrol_module1_light_intensity_cnt, {}}, |
|||
{kreg_light_ctrol_module1_light_driver_freq_cnt, {}}, |
|||
{kreg_light_ctrol_module1_freq_detect_bias, {}}, |
|||
{kreg_light_ctrol_module1_light_src_error_state, {}}, |
|||
{kreg_light_ctrol_module1_in_sig_freq_detect, {}}, |
|||
{kreg_light_ctrol_module1_out_sig_freq_detect, {}}, |
|||
{kreg_light_ctrol_module2, {}}, |
|||
{kreg_light_ctrol_module2_source_select, {}}, |
|||
{kreg_light_ctrol_module2_en_sig_ctrl_mode, {}}, |
|||
{kreg_light_ctrol_module2_light_intensity_ctrl_mode, {}}, |
|||
{kreg_light_ctrol_module2_trigger_mode_pluse_num, {}}, |
|||
{kreg_light_ctrol_module2_trigger_mode_pluse_interval, {}}, |
|||
{kreg_light_ctrol_module2_trigger_mode_pluse_width, {}}, |
|||
{kreg_light_ctrol_module2_trigger_mode_first_pluse_offset, {}}, |
|||
{kreg_light_ctrol_module2_trigger_mode_output_polarity, {}}, |
|||
{kreg_light_ctrol_module2_light_intensity_cnt, {}}, |
|||
{kreg_light_ctrol_module2_light_driver_freq_cnt, {}}, |
|||
{kreg_light_ctrol_module2_freq_detect_bias, {}}, |
|||
{kreg_light_ctrol_module2_light_src_error_state, {}}, |
|||
{kreg_light_ctrol_module2_in_sig_freq_detect, {}}, |
|||
{kreg_light_ctrol_module2_out_sig_freq_detect, {}}, |
|||
{kreg_light_ctrol_module3, {}}, |
|||
{kreg_light_ctrol_module3_source_select, {}}, |
|||
{kreg_light_ctrol_module3_en_sig_ctrl_mode, {}}, |
|||
{kreg_light_ctrol_module3_light_intensity_ctrl_mode, {}}, |
|||
{kreg_light_ctrol_module3_trigger_mode_pluse_num, {}}, |
|||
{kreg_light_ctrol_module3_trigger_mode_pluse_interval, {}}, |
|||
{kreg_light_ctrol_module3_trigger_mode_pluse_width, {}}, |
|||
{kreg_light_ctrol_module3_trigger_mode_first_pluse_offset, {}}, |
|||
{kreg_light_ctrol_module3_trigger_mode_output_polarity, {}}, |
|||
{kreg_light_ctrol_module3_light_intensity_cnt, {}}, |
|||
{kreg_light_ctrol_module3_light_driver_freq_cnt, {}}, |
|||
{kreg_light_ctrol_module3_freq_detect_bias, {}}, |
|||
{kreg_light_ctrol_module3_light_src_error_state, {}}, |
|||
{kreg_light_ctrol_module3_in_sig_freq_detect, {}}, |
|||
{kreg_light_ctrol_module3_out_sig_freq_detect, {}}, |
|||
{kreg_light_ctrol_module4, {}}, |
|||
{kreg_light_ctrol_module4_source_select, {}}, |
|||
{kreg_light_ctrol_module4_en_sig_ctrl_mode, {}}, |
|||
{kreg_light_ctrol_module4_light_intensity_ctrl_mode, {}}, |
|||
{kreg_light_ctrol_module4_trigger_mode_pluse_num, {}}, |
|||
{kreg_light_ctrol_module4_trigger_mode_pluse_interval, {}}, |
|||
{kreg_light_ctrol_module4_trigger_mode_pluse_width, {}}, |
|||
{kreg_light_ctrol_module4_trigger_mode_first_pluse_offset, {}}, |
|||
{kreg_light_ctrol_module4_trigger_mode_output_polarity, {}}, |
|||
{kreg_light_ctrol_module4_light_intensity_cnt, {}}, |
|||
{kreg_light_ctrol_module4_light_driver_freq_cnt, {}}, |
|||
{kreg_light_ctrol_module4_freq_detect_bias, {}}, |
|||
{kreg_light_ctrol_module4_light_src_error_state, {}}, |
|||
{kreg_light_ctrol_module4_in_sig_freq_detect, {}}, |
|||
{kreg_light_ctrol_module4_out_sig_freq_detect, {}}, |
|||
}; |
|||
|
|||
static bool reginfo_initialized = false; |
|||
void RegInfoInitialize() { |
|||
reginfo_map[kreg_internal_clk_freq_cnt].flag |= kreg_flag_volatile; |
|||
reginfo_map[kreg_internal_clk_tri_out_signal_freq].flag |= kreg_flag_volatile; |
|||
reginfo_map[kreg_trigger_in1_in_signal_freq].flag |= kreg_flag_volatile; |
|||
reginfo_map[kreg_trigger_in2_in_signal_freq].flag |= kreg_flag_volatile; |
|||
reginfo_map[kreg_trigger_in3_in_signal_freq].flag |= kreg_flag_volatile; |
|||
reginfo_map[kreg_trigger_in4_in_signal_freq].flag |= kreg_flag_volatile; |
|||
|
|||
reginfo_map[kreg_trigger_in1_out_signal_freq].flag |= kreg_flag_volatile; |
|||
reginfo_map[kreg_trigger_in2_out_signal_freq].flag |= kreg_flag_volatile; |
|||
reginfo_map[kreg_trigger_in3_out_signal_freq].flag |= kreg_flag_volatile; |
|||
reginfo_map[kreg_trigger_in4_out_signal_freq].flag |= kreg_flag_volatile; |
|||
|
|||
reginfo_map[kreg_light_ctrol_module1_light_driver_freq_cnt].flag |= kreg_flag_volatile; |
|||
reginfo_map[kreg_light_ctrol_module2_light_driver_freq_cnt].flag |= kreg_flag_volatile; |
|||
reginfo_map[kreg_light_ctrol_module3_light_driver_freq_cnt].flag |= kreg_flag_volatile; |
|||
reginfo_map[kreg_light_ctrol_module4_light_driver_freq_cnt].flag |= kreg_flag_volatile; |
|||
|
|||
reginfo_map[kreg_light_ctrol_module1_in_sig_freq_detect].flag |= kreg_flag_volatile; |
|||
reginfo_map[kreg_light_ctrol_module2_in_sig_freq_detect].flag |= kreg_flag_volatile; |
|||
reginfo_map[kreg_light_ctrol_module3_in_sig_freq_detect].flag |= kreg_flag_volatile; |
|||
reginfo_map[kreg_light_ctrol_module4_in_sig_freq_detect].flag |= kreg_flag_volatile; |
|||
|
|||
reginfo_map[kreg_light_ctrol_module1_out_sig_freq_detect].flag |= kreg_flag_volatile; |
|||
reginfo_map[kreg_light_ctrol_module2_out_sig_freq_detect].flag |= kreg_flag_volatile; |
|||
reginfo_map[kreg_light_ctrol_module3_out_sig_freq_detect].flag |= kreg_flag_volatile; |
|||
reginfo_map[kreg_light_ctrol_module4_out_sig_freq_detect].flag |= kreg_flag_volatile; |
|||
} |
|||
Reginfo* GetRegInfo(uint32_t add) { |
|||
if (!reginfo_initialized) { |
|||
RegInfoInitialize(); |
|||
} |
|||
auto it = reginfo_map.find(add); |
|||
if (it != reginfo_map.end()) { |
|||
return &it->second; |
|||
} |
|||
return nullptr; |
|||
} |
|||
|
|||
} // namespace clst
|
|||
} // namespace iflytop
|
@ -0,0 +1,38 @@ |
|||
#pragma once
|
|||
#include <fstream>
|
|||
#include <functional>
|
|||
#include <iostream>
|
|||
#include <list>
|
|||
#include <map>
|
|||
#include <memory>
|
|||
#include <set>
|
|||
#include <sstream>
|
|||
#include <string>
|
|||
#include <vector>
|
|||
namespace iflytop { |
|||
namespace clst { |
|||
using namespace std; |
|||
|
|||
typedef enum { |
|||
|
|||
kreg_flag_r = 0x01, // 可读
|
|||
kreg_flag_w = 0x01 << 1, // 可写
|
|||
kreg_flag_volatile = 0x01 << 2, // 易变寄存器
|
|||
|
|||
kreg_flag_rw = kreg_flag_r | kreg_flag_w, |
|||
} reg_flag_t; |
|||
|
|||
class Reginfo { |
|||
public: |
|||
uint32_t regadd = 0; |
|||
uint32_t flag = kreg_flag_rw; |
|||
uint32_t regshadow = 0; |
|||
bool dirty = true; |
|||
|
|||
public: |
|||
}; |
|||
|
|||
Reginfo* GetRegInfo(uint32_t add); |
|||
} // namespace clst
|
|||
|
|||
} // namespace iflytop
|
@ -1,4 +1,4 @@ |
|||
#pragma once |
|||
|
|||
#define VERSION 7 |
|||
#define VERSION 8 |
|||
#define MAUFACTURER "iflytop" |
Write
Preview
Loading…
Cancel
Save
Reference in new issue