diff --git a/api/api.hpp b/api/api.hpp index c99ddf5..0657174 100644 --- a/api/api.hpp +++ b/api/api.hpp @@ -17,4 +17,6 @@ // #include "zi_mini_servo.hpp" // -#include "zi_board.hpp" \ No newline at end of file +#include "zi_board.hpp" +// +#include "zi_code_scaner.hpp" \ No newline at end of file diff --git a/api/apibasic/cmdid.cpp b/api/apibasic/cmdid.cpp index a5aa015..ab7d26d 100644 --- a/api/apibasic/cmdid.cpp +++ b/api/apibasic/cmdid.cpp @@ -29,10 +29,6 @@ static cmdinfo_t table[] = { CMD_ITERM(kxymotor_read_pos), CMD_ITERM(kxymotor_calculated_pos_by_move_to_zero), - CMD_ITERM(kcode_scaner_start_scan), - CMD_ITERM(kcode_scaner_stop_scan), - CMD_ITERM(kcode_scaner_read_scaner_result), - CMD_ITERM(kpipette_ctrl_init_device), CMD_ITERM(kpipette_ctrl_put_tip), CMD_ITERM(kpipette_ctrl_move_to_ul), @@ -71,10 +67,18 @@ static cmdinfo_t table[] = { CMD_ITERM(kboard_read_ext_io), CMD_ITERM(kboard_write_ext_io), + CMD_ITERM(kboard_read_muti_io), + + CMD_ITERM(kcode_scaner_start_scan), + CMD_ITERM(kcode_scaner_stop_scan), + CMD_ITERM(kcode_scaner_result_is_ready), + CMD_ITERM(kcode_scaner_read_scaner_result), + CMD_ITERM(kcode_scaner_get_result_length), + }; const char* cmdid2str(int32_t code) { - for (size_t i = 0; i < sizeof(table) / sizeof(table[0]); i++) { + for (int i = 0; i < sizeof(table) / sizeof(table[0]); i++) { if (table[i].index == code) { return table[i].fnname; } diff --git a/api/apibasic/cmdid.hpp b/api/apibasic/cmdid.hpp index 35f66e3..8453b31 100644 --- a/api/apibasic/cmdid.hpp +++ b/api/apibasic/cmdid.hpp @@ -17,26 +17,22 @@ typedef enum { kevent_bus_reg_change_report = CMDID(0, 100), // para:{}, ack:{} - kmodule_ping = CMDID(1, 0), // para:{}, ack:{} - kmodule_get_status = CMDID(1, 4), // para:{}, ack:{4} - kmodule_stop = CMDID(1, 1), // para:{}, ack:{} - kmodule_set_reg = CMDID(1, 5), // para:{4,4}, ack:{} - kmodule_get_reg = CMDID(1, 6), // para:{4}, ack:{4}I - kmodule_get_error = CMDID(1, 10), // para:{}, ack:{1} - kmodule_clear_error = CMDID(1, 11), // para:{}, ack:{} - kmodule_active_cfg = CMDID(1, 16), // para:{}, ack:{} - - kxymotor_enable = CMDID(3, 1), // para:{1}, ack:{} - kxymotor_move_by = CMDID(3, 2), // para:{4,4,4}, ack:{} - kxymotor_move_to = CMDID(3, 3), // para:{4,4,4}, ack:{} - kxymotor_move_to_zero = CMDID(3, 4), // para:{}, ack:{} - kxymotor_move_to_zero_and_calculated_shift = CMDID(3, 5), // para:{4,4,4,4}, ack:{} //int32_t findzerospeed, int32_t findzeroedge_speed, int32_t acc, int32_t overtime - kxymotor_read_pos = CMDID(3, 6), // para:{}, ack:{4,4} - kxymotor_calculated_pos_by_move_to_zero = CMDID(3, 7), // para:{}, ack:{} - - // kcode_scaner_start_scan = CMDID(4, 1), // para:{}, ack:{} - // kcode_scaner_stop_scan = CMDID(4, 2), // para:{}, ack:{} - // kcode_scaner_read_scaner_result = CMDID(4, 3), // para:{4,4}, ack:{4} + kmodule_ping = CMDID(1, 0), + kmodule_get_status = CMDID(1, 4), + kmodule_stop = CMDID(1, 1), + kmodule_set_reg = CMDID(1, 5), + kmodule_get_reg = CMDID(1, 6), + kmodule_get_error = CMDID(1, 10), + 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_move_to_zero_and_calculated_shift = CMDID(3, 5), + 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:{} @@ -51,28 +47,21 @@ typedef enum { 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} - /*********************************************************************************************************************************************** - * NEW * - * NEW * - * NEW * - * NEW * - * NEW * - ***********************************************************************************************************************************************/ - /*********************************************************************************************************************** * STEP_MOTOR * ***********************************************************************************************************************/ - kstep_motor_enable = CMDID(101, 1), // para:{1}, ack:{} - kstep_motor_read_pos = CMDID(101, 2), // para:{}, ack:{4} - kstep_motor_easy_rotate = CMDID(101, 3), // para:{4}, ack:{} - kstep_motor_easy_move_by = CMDID(101, 4), // para:{4}, ack:{} - kstep_motor_easy_move_to = CMDID(101, 5), // para:{4}, ack:{} - kstep_motor_easy_move_to_zero = CMDID(101, 6), // para:{1}, ack:{} - kstep_motor_easy_set_current_pos = CMDID(101, 7), // para:{4}, ack:{} - kstep_motor_easy_move_to_io = CMDID(101, 8), // para:{4,4}, ack:{} - kstep_motor_active_cfg = CMDID(101, 9), // para:{4,4}, ack:{} - kstep_motor_stop = CMDID(101, 10), // para:{4}, ack:{} - kstep_motor_read_io_state = CMDID(101, 11), // para:{4}, ack:{} + + kstep_motor_enable = CMDID(2, 1), // para:{1}, ack:{} + kstep_motor_read_pos = CMDID(2, 11), // para:{}, ack:{4} + kstep_motor_easy_rotate = CMDID(2, 17), // para:{4}, ack:{} + kstep_motor_easy_move_by = CMDID(2, 18), // para:{4}, ack:{} + kstep_motor_easy_move_to = CMDID(2, 19), // para:{4}, ack:{} + kstep_motor_easy_move_to_zero = CMDID(2, 20), // para:{1}, ack:{} + kstep_motor_easy_set_current_pos = CMDID(2, 21), // para:{4}, ack:{} + kstep_motor_easy_move_to_io = CMDID(2, 22), // para:{4,4}, ack:{} + kstep_motor_stop = CMDID(2, 40), // para:{4}, ack:{} + kstep_motor_active_cfg = CMDID(2, 41), // para:{4}, ack:{} + kstep_motor_read_io_state = CMDID(2, 42), // para:{4}, ack:{} /*********************************************************************************************************************** * MINI_SERVO * @@ -98,11 +87,11 @@ typedef enum { /*********************************************************************************************************************** * CODE_SCANER * ***********************************************************************************************************************/ - kcode_scaner_start_scan = CMDID(104, 1), // para:{}, ack:{} kcode_scaner_stop_scan = CMDID(104, 2), // para:{}, ack:{} kcode_scaner_result_is_ready = CMDID(104, 3), // para:{}, ack:{} kcode_scaner_read_scaner_result = CMDID(104, 4), // para:{}, ack:{X} + kcode_scaner_get_result_length = CMDID(104, 5), // para:{}, ack:{X} } cmdid_t; diff --git a/api/apibasic/errorcode.cpp b/api/apibasic/errorcode.cpp index 683ff1c..a3aa1ff 100644 --- a/api/apibasic/errorcode.cpp +++ b/api/apibasic/errorcode.cpp @@ -98,7 +98,7 @@ static ecode_table_item_t table[] = { }; const char* error2str(int32_t code) { - for (size_t i = 0; i < sizeof(table) / sizeof(table[0]); i++) { + for (int i = 0; i < sizeof(table) / sizeof(table[0]); i++) { if (table[i].index == code) { return table[i].info; } diff --git a/api/apibasic/reg_index.cpp b/api/apibasic/reg_index.cpp index c2fa9cf..b3a5071 100644 --- a/api/apibasic/reg_index.cpp +++ b/api/apibasic/reg_index.cpp @@ -135,7 +135,7 @@ static reginfo_t table[] = { }; reginfo_t *get_reginfo_by_index(uint32_t index) { - for (size_t i = 0; i < sizeof(table) / sizeof(table[0]); i++) { + for (int i = 0; i < sizeof(table) / sizeof(table[0]); i++) { if (table[i].index == index) { return &table[i]; } @@ -144,7 +144,7 @@ reginfo_t *get_reginfo_by_index(uint32_t index) { } const char *regindex2str(uint32_t index) { - for (size_t i = 0; i < sizeof(table) / sizeof(table[0]); i++) { + for (int i = 0; i < sizeof(table) / sizeof(table[0]); i++) { if (table[i].index == index) { return table[i].regname; } diff --git a/api/zi_board.hpp b/api/zi_board.hpp index 2146368..822e3d7 100644 --- a/api/zi_board.hpp +++ b/api/zi_board.hpp @@ -12,5 +12,6 @@ class ZIBoard { virtual ~ZIBoard() {} virtual int32_t board_read_ext_io(int32_t ioindex, int32_t *val) = 0; virtual int32_t board_write_ext_io(int32_t ioindex, int32_t val) = 0; + virtual int32_t board_read_muti_io(int32_t *val) = 0; }; } // namespace iflytop \ No newline at end of file diff --git a/api/zi_code_scaner.hpp b/api/zi_code_scaner.hpp new file mode 100644 index 0000000..5854de7 --- /dev/null +++ b/api/zi_code_scaner.hpp @@ -0,0 +1,21 @@ +#pragma once +#include + +#include + +#include "apibasic/basic.hpp" + +namespace iflytop { +using namespace std; + +class ZICodeScaner { + public: + virtual ~ZICodeScaner() {} + + virtual int32_t code_scaner_start_scan() = 0; + virtual int32_t code_scaner_stop_scan() = 0; + virtual int32_t code_scaner_result_is_ready(int32_t* ready) = 0; + virtual int32_t code_scaner_get_result_length(int32_t* length) = 0; + virtual int32_t code_scaner_read_scaner_result(uint8_t* result, int32_t* len) = 0; +}; +} // namespace iflytop \ No newline at end of file