From 9f596aba822dbef7f0b0e190295ac927eae78cfe Mon Sep 17 00:00:00 2001 From: zhaohe Date: Sun, 9 Jun 2024 15:24:58 +0800 Subject: [PATCH] update --- api/apibasic/cmdid.cpp | 2 ++ api/apibasic/cmdid.hpp | 15 ++++++++++----- api/apibasic/reg_index.cpp | 7 +++---- api/apibasic/reg_index.hpp | 12 +++++------- api/zi_a8000_optical_module.hpp | 17 +++++++++-------- 5 files changed, 29 insertions(+), 24 deletions(-) diff --git a/api/apibasic/cmdid.cpp b/api/apibasic/cmdid.cpp index 53654fe..8b2690c 100644 --- a/api/apibasic/cmdid.cpp +++ b/api/apibasic/cmdid.cpp @@ -41,6 +41,8 @@ static cmdinfo_t table[] = { CMD_ITERM(ka8000_optical_read_scanner_adc_val), CMD_ITERM(ka8000_optical_read_laster_adc_val), CMD_ITERM(ka8000_optical_scan_current_point_amp_adc_val), + CMD_ITERM(ka8000_optical_start_capture), + CMD_ITERM(ka8000_optical_read_raw), CMD_ITERM(kstep_motor_enable), CMD_ITERM(kstep_motor_read_pos), diff --git a/api/apibasic/cmdid.hpp b/api/apibasic/cmdid.hpp index 9ab970e..667599f 100644 --- a/api/apibasic/cmdid.hpp +++ b/api/apibasic/cmdid.hpp @@ -26,18 +26,21 @@ typedef enum { kmodule_clear_error = CMDID(1, 11), kmodule_active_cfg = CMDID(1, 16), - kxymotor_enable = CMDID(3, 1), - kxymotor_move_by = CMDID(3, 2), - kxymotor_move_to = CMDID(3, 3), - kxymotor_move_to_zero = CMDID(3, 4), + kxymotor_enable = CMDID(3, 1), + kxymotor_move_by = CMDID(3, 2), + kxymotor_move_to = CMDID(3, 3), + kxymotor_move_to_zero = CMDID(3, 4), // kxymotor_move_to_zero_and_calculated_shift = CMDID(3, 5), - kxymotor_read_pos = CMDID(3, 6), + kxymotor_read_pos = CMDID(3, 6), // kxymotor_calculated_pos_by_move_to_zero = CMDID(3, 7), kpipette_ctrl_init_device = CMDID(5, 1), // para:{}, ack:{} kpipette_ctrl_put_tip = CMDID(5, 2), // para:{}, ack:{} kpipette_ctrl_move_to_ul = CMDID(5, 3), // para:{4}, ack:{} + /*********************************************************************************************************************** + * 光学模组 * + ***********************************************************************************************************************/ ka8000_optical_module_power_ctrl = CMDID(6, 0), // para:{4}, ack:{} ka8000_optical_open_laser = CMDID(6, 1), // para:{4}, ack:{} ka8000_optical_close_laser = CMDID(6, 2), // para:{4}, ack:{} @@ -46,6 +49,8 @@ typedef enum { ka8000_optical_read_scanner_adc_val = CMDID(6, 5), // para:{4}, ack:{4} ka8000_optical_read_laster_adc_val = CMDID(6, 6), // para:{4}, ack:{4} ka8000_optical_scan_current_point_amp_adc_val = CMDID(6, 7), // para:{4,4,4,4}, ack:{4,4} + ka8000_optical_start_capture = CMDID(6, 8), // para:{n/a} + ka8000_optical_read_raw = CMDID(6, 9), // para:{index,size} /*********************************************************************************************************************** * STEP_MOTOR * diff --git a/api/apibasic/reg_index.cpp b/api/apibasic/reg_index.cpp index c283fde..4f2009d 100644 --- a/api/apibasic/reg_index.cpp +++ b/api/apibasic/reg_index.cpp @@ -36,10 +36,9 @@ static reginfo_t table[] = { REG_ITERM(kreg_pipette_capactitance_val), REG_ITERM(kreg_pipette_tip_state), REG_ITERM(kreg_pipette_limit_ul), - REG_ITERM(kreg_self_reflecting_laser_sensor_transmitting_power), - REG_ITERM(kreg_self_reflecting_laser_sensor_receiving_tube_gain), - REG_ITERM(kreg_self_reflecting_laser_sensor_sample_interval_ms), - REG_ITERM(kreg_self_reflecting_laser_sensor_num_samples), + + REG_ITERM(kreg_boditech_optical_module_raw_sector_size), + REG_ITERM(kreg_boditech_optical_module_raw_sector_num), REG_ITERM(kreg_boditech_optical_scan_type), REG_ITERM(kreg_boditech_optical_scan_start_pos), REG_ITERM(kreg_boditech_optical_scan_direction), diff --git a/api/apibasic/reg_index.hpp b/api/apibasic/reg_index.hpp index 06ea34e..e8a1382 100644 --- a/api/apibasic/reg_index.hpp +++ b/api/apibasic/reg_index.hpp @@ -44,14 +44,12 @@ typedef enum { kreg_pipette_tip_state = REG_INDEX(40, 0, 2), // 移动液枪tip状态 kreg_pipette_limit_ul = REG_INDEX(40, 50, 0), // 移液枪ul限制 - /******************************************************************************* - * smartADC * - *******************************************************************************/ - kreg_self_reflecting_laser_sensor_transmitting_power = REG_INDEX(41, 0, 0), // 发射功率 - kreg_self_reflecting_laser_sensor_receiving_tube_gain = REG_INDEX(41, 0, 1), // 接收管放大倍数 - kreg_self_reflecting_laser_sensor_sample_interval_ms = REG_INDEX(41, 0, 2), // 采样率 - kreg_self_reflecting_laser_sensor_num_samples = REG_INDEX(41, 0, 3), // 采样点数 + /*********************************************************************************************************************** + * 光学模组 * + ***********************************************************************************************************************/ + kreg_boditech_optical_module_raw_sector_size = REG_INDEX(41, 0, 0), // sector_size + kreg_boditech_optical_module_raw_sector_num = REG_INDEX(41, 0, 1), // // scan action kreg_boditech_optical_scan_type = REG_INDEX(42, 0, 0), // 0 t光学,1 f光学 kreg_boditech_optical_scan_start_pos = REG_INDEX(42, 0, 1), diff --git a/api/zi_a8000_optical_module.hpp b/api/zi_a8000_optical_module.hpp index dadea97..dffcd6c 100644 --- a/api/zi_a8000_optical_module.hpp +++ b/api/zi_a8000_optical_module.hpp @@ -5,7 +5,6 @@ #include "apibasic/basic.hpp" - namespace iflytop { using namespace std; class ZIA8000OpticalModule { @@ -18,6 +17,8 @@ class ZIA8000OpticalModule { public: virtual ~ZIA8000OpticalModule(){}; + virtual int32_t a8000_optical_start_capture() = 0; + virtual int32_t a8000_optical_read_raw(int32_t index, uint8_t* data, int32_t* len) = 0; /******************************************************************************* * TEST * @@ -27,13 +28,13 @@ class ZIA8000OpticalModule { * 1. 下面方法属于单步测试采样的方法,用于调试。一般手动移动光学模组,然后利用下面方法进行测试 * 2. 正式逻辑不使用下面逻辑 */ - virtual int32_t a8000_optical_module_power_ctrl(int32_t state) { return err::kcmd_not_support; } - virtual int32_t a8000_optical_open_laser(int32_t type) { return err::kcmd_not_support; } - virtual int32_t a8000_optical_close_laser(int32_t type) { return err::kcmd_not_support; } - virtual int32_t a8000_optical_set_laster_gain(int32_t type, int32_t gain) { return err::kcmd_not_support; } - virtual int32_t a8000_optical_set_scan_amp_gain(int32_t type, int32_t gain) { return err::kcmd_not_support; } - virtual int32_t a8000_optical_read_scanner_adc_val(int32_t type, int32_t* adcval) { return err::kcmd_not_support; } - virtual int32_t a8000_optical_read_laster_adc_val(int32_t type, int32_t* adcval) { return err::kcmd_not_support; } + virtual int32_t a8000_optical_module_power_ctrl(int32_t state) = 0; + virtual int32_t a8000_optical_open_laser(int32_t type) = 0; + virtual int32_t a8000_optical_close_laser(int32_t type) = 0; + virtual int32_t a8000_optical_set_laster_gain(int32_t type, int32_t gain) = 0; + virtual int32_t a8000_optical_set_scan_amp_gain(int32_t type, int32_t gain) = 0; + virtual int32_t a8000_optical_read_scanner_adc_val(int32_t type, int32_t* adcval) = 0; + virtual int32_t a8000_optical_read_laster_adc_val(int32_t type, int32_t* adcval) = 0; /** * @brief 打开闪光灯读取当前这一点的采样信息 *