From 4dc3b3f4aabed1b2d2388a454fe494992d241a0e Mon Sep 17 00:00:00 2001 From: zhaohe Date: Tue, 29 Jul 2025 09:43:47 +0800 Subject: [PATCH] =?UTF-8?q?v1.0.0|=20=E5=85=89=E5=AD=A6=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E8=AE=BE=E7=BD=AE=E6=88=90=E5=8F=AF=E9=85=8D?= =?UTF-8?q?=E7=BD=AE,=20=E4=BF=AE=E6=94=B9=E7=89=88=E6=9C=AC=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 3 +- usrc/a8000_protocol/protocol/reg_index.cpp | 7 +++- usrc/a8000_protocol/protocol/reg_index.hpp | 6 ++++ .../optical_module_v2.cpp | 42 ++++++++++++++++------ .../optical_module_v2.hpp | 7 ++++ usrc/version.c | 4 ++- 6 files changed, 55 insertions(+), 14 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 2ccc2ed..306d562 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -51,7 +51,8 @@ "sstream": "cpp", "stdexcept": "cpp", "streambuf": "cpp", - "typeinfo": "cpp" + "typeinfo": "cpp", + "version.h": "c" }, "files.autoGuessEncoding": false, "files.encoding": "utf8", diff --git a/usrc/a8000_protocol/protocol/reg_index.cpp b/usrc/a8000_protocol/protocol/reg_index.cpp index 9ffa4c4..6e71f6e 100644 --- a/usrc/a8000_protocol/protocol/reg_index.cpp +++ b/usrc/a8000_protocol/protocol/reg_index.cpp @@ -42,7 +42,6 @@ static reginfo_t table[] = { REG_ITERM(kreg_water_cooling_tmp_controler_fanlevel_coefficient), REG_ITERM(kreg_water_cooling_tmp_controler_first_approach_target_dval_threshold), - REG_ITERM(kreg_pipette_pos_nl), REG_ITERM(kreg_pipette_capactitance_val), @@ -135,6 +134,12 @@ static reginfo_t table[] = { REG_ITERM(kreg_a8k_opt_barcode_scan_tzerowait), REG_ITERM(kreg_a8k_opt_barcode_scan_irun), + REG_ITERM(kreg_a8k_opt_t_uvled_on_duration_time), + REG_ITERM(kreg_a8k_opt_t_uvled_off_duration_time), + REG_ITERM(kreg_a8k_opt_t_scan_delay_time), + REG_ITERM(kreg_a8k_opt_t_scan_duration_time), + REG_ITERM(kreg_a8k_opt_t_time_resolving_density), + REG_ITERM(kreg_xyrobot_io_state), REG_ITERM(kreg_xyrobot_is_enable), REG_ITERM(kreg_xyrobot_has_move_to_zero), diff --git a/usrc/a8000_protocol/protocol/reg_index.hpp b/usrc/a8000_protocol/protocol/reg_index.hpp index 9b2c598..89a387e 100644 --- a/usrc/a8000_protocol/protocol/reg_index.hpp +++ b/usrc/a8000_protocol/protocol/reg_index.hpp @@ -137,6 +137,12 @@ typedef enum { kreg_a8k_opt_t_scan_tzerowait = 4708, // kreg_a8k_opt_t_scan_irun = 4709, // + kreg_a8k_opt_t_uvled_on_duration_time = 4720, // + kreg_a8k_opt_t_uvled_off_duration_time = 4721, // + kreg_a8k_opt_t_scan_delay_time = 4722, // + kreg_a8k_opt_t_scan_duration_time = 4723, // + kreg_a8k_opt_t_time_resolving_density = 4724, // + kreg_a8k_opt_barcode_scan_vdefault = 4800, // kreg_a8k_opt_barcode_scan_vstart = 4801, // kreg_a8k_opt_barcode_scan_a1 = 4802, // diff --git a/usrc/subboards/subboard90_optical_module/optical_module_v2.cpp b/usrc/subboards/subboard90_optical_module/optical_module_v2.cpp index 435bd27..345005d 100644 --- a/usrc/subboards/subboard90_optical_module/optical_module_v2.cpp +++ b/usrc/subboards/subboard90_optical_module/optical_module_v2.cpp @@ -25,12 +25,6 @@ using namespace std; #define ACTION_DUMP_RESULT 12 // 打印结果 #define ACTION_AUTO_ADJUST_DETECTOR_GAIN 13 // 自动调整增益倍数 -#define UVLED_ON_DURATION_TIME 500 // 500us -#define UVLED_OFF_DURATION_TIME 100 // 100us -#define SCAN_DELAY_TIME 400 // 400us -#define SCAN_DURATION_TIME 1000 // 1000us -#define TIME_RESOLVING_DENSITY 100 - void OpticalModuleV2::initialize(int32_t moduleid, hardware_config_t* hardwarecfg) { // module_id = moduleid; m_hardwarecfg = *hardwarecfg; @@ -103,6 +97,18 @@ void OpticalModuleV2::initialize(int32_t moduleid, hardware_config_t* hardwarecf m_reg.barcode_scan_tzerowait = 0; m_reg.barcode_scan_irun = 12; + // #define UVLED_ON_DURATION_TIME 500 // 500us + // #define UVLED_OFF_DURATION_TIME 100 // 100us + // #define SCAN_DELAY_TIME 400 // 400us + // #define SCAN_DURATION_TIME 1000 // 1000us + // #define TIME_RESOLVING_DENSITY 100 + + m_reg.t_uvled_on_duration_time = 500; + m_reg.t_uvled_off_duration_time = 100; + m_reg.t_scan_delay_time = 400; + m_reg.t_scan_duration_time = 1000; + m_reg.t_time_resolving_density = 100; + m_default_reg = m_reg; ZLOGI(TAG, "-----------------module info--------------"); @@ -213,6 +219,13 @@ int32_t OpticalModuleV2::module_set_reg(int32_t regindex, int32_t val) { MODULE_REG_CASE__SET_REG_TO(kreg_a8k_opt_scan_step_interval, (m_reg.scan_step_interval)); MODULE_REG_CASE__SET_REG_TO(kreg_a8k_opt_scan_pointnum, (m_reg.scan_pointnum)); + + MODULE_REG_CASE__SET_REG_TO(kreg_a8k_opt_t_uvled_on_duration_time, (m_reg.t_uvled_on_duration_time)); + MODULE_REG_CASE__SET_REG_TO(kreg_a8k_opt_t_uvled_off_duration_time, (m_reg.t_uvled_off_duration_time)); + MODULE_REG_CASE__SET_REG_TO(kreg_a8k_opt_t_scan_delay_time, (m_reg.t_scan_delay_time)); + MODULE_REG_CASE__SET_REG_TO(kreg_a8k_opt_t_scan_duration_time, (m_reg.t_scan_duration_time)); + MODULE_REG_CASE__SET_REG_TO(kreg_a8k_opt_t_time_resolving_density, (m_reg.t_time_resolving_density)); + default: return err::kmodule_not_find_reg; break; @@ -248,6 +261,12 @@ int32_t OpticalModuleV2::module_get_reg(int32_t regindex, int32_t* val) { MODULE_CFG_CASE__GET_REG_FROM(kreg_a8k_opt_t_scan_vstop, m_reg.t_scan_vstop); MODULE_CFG_CASE__GET_REG_FROM(kreg_a8k_opt_t_scan_tzerowait, m_reg.t_scan_tzerowait); MODULE_CFG_CASE__GET_REG_FROM(kreg_a8k_opt_t_scan_irun, m_reg.t_scan_irun); + MODULE_CFG_CASE__GET_REG_FROM(kreg_a8k_opt_t_uvled_on_duration_time, (m_reg.t_uvled_on_duration_time)); + MODULE_CFG_CASE__GET_REG_FROM(kreg_a8k_opt_t_uvled_off_duration_time, (m_reg.t_uvled_off_duration_time)); + MODULE_CFG_CASE__GET_REG_FROM(kreg_a8k_opt_t_scan_delay_time, (m_reg.t_scan_delay_time)); + MODULE_CFG_CASE__GET_REG_FROM(kreg_a8k_opt_t_scan_duration_time, (m_reg.t_scan_duration_time)); + MODULE_CFG_CASE__GET_REG_FROM(kreg_a8k_opt_t_time_resolving_density, (m_reg.t_time_resolving_density)); + MODULE_CFG_CASE__GET_REG_FROM(kreg_a8k_opt_barcode_scan_vdefault, m_reg.barcode_scan_vdefault); MODULE_CFG_CASE__GET_REG_FROM(kreg_a8k_opt_barcode_scan_vstart, m_reg.barcode_scan_vstart); MODULE_CFG_CASE__GET_REG_FROM(kreg_a8k_opt_barcode_scan_a1, m_reg.barcode_scan_a1); @@ -261,6 +280,7 @@ int32_t OpticalModuleV2::module_get_reg(int32_t regindex, int32_t* val) { MODULE_CFG_CASE__GET_REG_FROM(kreg_a8k_opt_scan_step_interval, (m_reg.scan_step_interval)); MODULE_CFG_CASE__GET_REG_FROM(kreg_a8k_opt_scan_pointnum, (m_reg.scan_pointnum)); + default: return err::kmodule_not_find_reg; break; @@ -663,22 +683,22 @@ int32_t OpticalModuleV2::t_read_one_point(int32_t& adcval) { */ chip_critical_enter(); tlaster_port->BSRR = closestate; - zchip_clock_early_delayus2(UVLED_OFF_DURATION_TIME); + zchip_clock_early_delayus2(m_reg.t_uvled_off_duration_time); tlaster_port->BSRR = openstate; - zchip_clock_early_delayus2(UVLED_ON_DURATION_TIME); + zchip_clock_early_delayus2(m_reg.t_uvled_on_duration_time); tlaster_port->BSRR = closestate; - zchip_clock_early_delayus2(SCAN_DELAY_TIME); + zchip_clock_early_delayus2(m_reg.t_scan_delay_time); zchip_clock_early_delayus_timer_start(); int32_t sumadcval = 0; int32_t currentadcval = 0; // t_laster_adc.get_adc_value(laster_fb_val); - for (int32_t i = 0; i < TIME_RESOLVING_DENSITY; i++) { + for (int32_t i = 0; i < m_reg.t_time_resolving_density; i++) { t_result_adc.get_adc_value(currentadcval); sumadcval += currentadcval; } - adcval = (sumadcval / TIME_RESOLVING_DENSITY); + adcval = (sumadcval / m_reg.t_time_resolving_density); uint32_t haspassed = zchip_clock_early_delayus_timer_haspassed(); zchip_clock_early_delayus_timer_stop(); diff --git a/usrc/subboards/subboard90_optical_module/optical_module_v2.hpp b/usrc/subboards/subboard90_optical_module/optical_module_v2.hpp index e085342..ccaaa5f 100644 --- a/usrc/subboards/subboard90_optical_module/optical_module_v2.hpp +++ b/usrc/subboards/subboard90_optical_module/optical_module_v2.hpp @@ -89,6 +89,13 @@ class OpticalModuleV2 : public ZIModule { int32_t barcode_scan_vstop; int32_t barcode_scan_tzerowait; int32_t barcode_scan_irun; + + int32_t t_uvled_on_duration_time; + int32_t t_uvled_off_duration_time; + int32_t t_scan_delay_time; + int32_t t_scan_duration_time; + int32_t t_time_resolving_density; + } reg_table_t; private: diff --git a/usrc/version.c b/usrc/version.c index 673bc3f..1d82b06 100644 --- a/usrc/version.c +++ b/usrc/version.c @@ -1,5 +1,7 @@ #include "version.h" -int32_t APP_VERSION = 1216; +#define VERSION(main, sub, fix) (main << 16 | sub << 8 | fix << 0) + +int32_t APP_VERSION = VERSION(1, 0, 0); int32_t get_app_version() { return APP_VERSION; }