Browse Source

update protocol

update_protocol
zhaohe 4 months ago
parent
commit
508a8f8be8
  1. 21
      api/api.hpp
  2. 2
      api/apibasic/basic.hpp
  3. 11
      api/apibasic/cmdid.cpp
  4. 10
      api/apibasic/cmdid.hpp
  5. 1
      api/apibasic/packet_interface.hpp
  6. 1
      api/apibasic/protocol_constant.hpp
  7. 15
      api/apibasic/reg_index.hpp
  8. 25
      api/zi_a8000_idcard_reader.hpp
  9. 53
      api/zi_a8000_optical_module.hpp
  10. 20
      api/zi_board.hpp
  11. 21
      api/zi_code_scaner.hpp
  12. 14
      api/zi_event_bus.hpp
  13. 14
      api/zi_fan_ctrl.hpp
  14. 28
      api/zi_mini_servo.hpp
  15. 33
      api/zi_motor.hpp
  16. 24
      api/zi_plate_code_scaner_module.hpp
  17. 21
      api/zi_water_cooling_temperature_controler.hpp
  18. 26
      api/zi_xymotor.hpp
  19. 25
      i_zcanreceiver.hpp
  20. 2
      protocol.hpp

21
api/api.hpp

@ -1,28 +1,7 @@
#pragma once
#include "apibasic/basic.hpp"
//
//
#include "zi_module.hpp"
//
#include "zi_motor.hpp"
//
#include "zi_xymotor.hpp"
//
#include "zi_event_bus.hpp"
//
#include "zi_a8000_optical_module.hpp"
//
#include "zi_mini_servo.hpp"
//
#include "zi_board.hpp"
//
#include "zi_code_scaner.hpp"
//
#include "zi_fan_ctrl.hpp"
//
#include "zi_water_cooling_temperature_controler.hpp"
//
#include "zi_a8000_idcard_reader.hpp"
//
#include "zi_plate_code_scaner_module.hpp"

2
api/apibasic/basic.hpp

@ -8,7 +8,5 @@
//
#include "module_type_index.hpp"
//
#include "protocol_constant.hpp"
//
#include "reg_index.hpp"
//

11
api/apibasic/cmdid.cpp

@ -31,16 +31,7 @@ static cmdinfo_t table[] = {
CMD_ITERM(kxymotor_motor_move_by_direct),
CMD_ITERM(kxymotor_read_enc_direct),
CMD_ITERM(ka8000_optical_module_power_ctrl),
CMD_ITERM(ka8000_optical_open_laser),
CMD_ITERM(ka8000_optical_close_laser),
CMD_ITERM(ka8000_optical_set_laster_gain),
CMD_ITERM(ka8000_optical_set_scan_amp_gain),
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(ka8k_opt_v2_t_start_scan),
CMD_ITERM(ka8k_opt_v2_f_start_scan),

10
api/apibasic/cmdid.hpp

@ -32,15 +32,7 @@ typedef enum {
kxymotor_motor_move_by_direct = 0x030a, //
kxymotor_read_enc_direct = 0x030b, //
ka8000_optical_module_power_ctrl = 0x0600, //
ka8000_optical_open_laser = 0x0601, //
ka8000_optical_close_laser = 0x0602, //
ka8000_optical_set_laster_gain = 0x0603, //
ka8000_optical_set_scan_amp_gain = 0x0604, //
ka8000_optical_read_scanner_adc_val = 0x0605, //
ka8000_optical_read_laster_adc_val = 0x0606, //
ka8000_optical_scan_current_point_amp_adc_val = 0x0607, //
ka8000_optical_start_capture = 0x0608, //
ka8000_optical_read_raw = 0x0609, //
ka8k_opt_v2_t_start_scan = 0x0700, //(int32_t scanDirection, int32_t lasterGain,int32_t scanGain)

1
api/apibasic/packet_interface.hpp

@ -1,5 +1,6 @@
#pragma once
#include <stdint.h>
#define ZCANCMD_PACKET_MAX_LEN 64
namespace iflytop {
namespace zcr {

1
api/apibasic/protocol_constant.hpp

@ -1 +0,0 @@
#define ZCANCMD_READ_BUF_MAX_SIZE 64

15
api/apibasic/reg_index.hpp

@ -4,7 +4,6 @@
namespace iflytop {
using namespace std;
#define REG_INDEX(type, offset, subconfigindex) (type * 100 + offset + subconfigindex)
typedef enum {
/*******************************************************************************
* *
@ -47,20 +46,6 @@ typedef enum {
kreg_pipette_capactitance_val = 4001, // 移液枪电容值
kreg_pipette_tip_state = 4002, // 移动液枪tip状态
// kreg_pipette_limit_ul = 4051, //
// kreg_pipette_pump_acc = 4052, //
// kreg_pipette_pump_dec = 4053, //
// kreg_pipette_pump_vstart = 4054, //
// kreg_pipette_pump_vstop = 4055, //
// kreg_pipette_pump_vmax = 4056, //
// kreg_pipette_aspirate_pump_vel = 4057, //
// kreg_pipette_lld_pump_vel = 4058, //
// kreg_pipette_lld_motor_vel_rpm = 4059, //
// kreg_pipette_lld_detect_period_ms = 4060, //
// kreg_pipette_lld_prepare_pos = 4061, //
// kreg_pipette_lld_prepare_pre_distribut_ul = 4062, //
// kreg_pipette_lld_enable_record_data = 4063, //
// kreg_pipette_distribu_pump_vel = 4064, //
kreg_pipette_zm_pos = 4101,
kreg_pipette_zm_is_enable = 4102,

25
api/zi_a8000_idcard_reader.hpp

@ -1,25 +0,0 @@
#pragma once
#include <stdint.h>
#include <functional>
#include "apibasic/basic.hpp"
namespace iflytop {
using namespace std;
class ZIA8000IDCardReaderModule {
public:
typedef enum {
kf_optical = 0,
kt_optical = 1,
ktest_optical = 2,
} optical_type_t;
public:
virtual ~ZIA8000IDCardReaderModule(){};
virtual int32_t a8000_idcard_reader_read_raw(int32_t index, uint8_t* data, int32_t* len) = 0;
virtual int32_t a8000_idcard_write_raw(int32_t add, uint8_t* data, int32_t len) = 0;
virtual int32_t a8000_idcard_erase() = 0;
virtual int32_t a8000_idcard_earse_unlock() = 0;
};
} // namespace iflytop

53
api/zi_a8000_optical_module.hpp

@ -1,53 +0,0 @@
#pragma once
#include <stdint.h>
#include <functional>
#include "apibasic/basic.hpp"
namespace iflytop {
using namespace std;
class ZIA8000OpticalModule {
public:
typedef enum {
kf_optical = 0,
kt_optical = 1,
ktest_optical = 2,
} optical_type_t;
public:
virtual ~ZIA8000OpticalModule(){};
virtual int32_t a8000_optical_start_capture() { return err::kcmd_not_support; }
virtual int32_t a8000_optical_read_raw(int32_t index, uint8_t* data, int32_t* len) { return err::kcmd_not_support; }
/*******************************************************************************
* TEST *
*******************************************************************************/
/**
* @:
* 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_scan_current_point_amp_adc_val(int32_t type, int32_t lastergain, int32_t ampgain, int32_t* laster_fb_val, int32_t* adcval) { return err::kcmd_not_support; }
virtual int32_t a8k_opt_v2_t_start_scan(int32_t scanDirection, int32_t lasterGain, int32_t scanGain) { return err::kcmd_not_support; }
virtual int32_t a8k_opt_v2_f_start_scan(int32_t scanDirection, int32_t lasterGain, int32_t scanGain) { return err::kcmd_not_support; }
virtual int32_t a8k_opt_v2_t_open_laster(int32_t lasterGain, int32_t scanGain) { return err::kcmd_not_support; }
virtual int32_t a8k_opt_v2_t_close_laster() { return err::kcmd_not_support; }
virtual int32_t a8k_opt_v2_t_readVal(int32_t* lasteradc, int32_t* scanadc) { return err::kcmd_not_support; }
virtual int32_t a8k_opt_v2_f_open_laster(int32_t lasterGain, int32_t scanGain) { return err::kcmd_not_support; }
virtual int32_t a8k_opt_v2_f_close_laster() { return err::kcmd_not_support; }
virtual int32_t a8k_opt_v2_f_readVal(int32_t* lasteradc, int32_t* scanadc) { return err::kcmd_not_support; }
};
} // namespace iflytop

20
api/zi_board.hpp

@ -1,20 +0,0 @@
#pragma once
#include <stdint.h>
#include <functional>
#include "apibasic/basic.hpp"
namespace iflytop {
using namespace std;
class ZIBoard {
public:
virtual ~ZIBoard() {}
virtual int32_t extboard_read_inio(int32_t ioindex, int32_t *val) = 0;
virtual int32_t kextboard_write_outio(int32_t ioindex, int32_t val) = 0;
virtual int32_t extboard_read_muti_inio(int32_t *val) = 0;
virtual int32_t extboard_read_inio_index_in_stm32(int32_t ioindex, int32_t *val) = 0;
virtual int32_t extboard_read_outio_index_in_stm32(int32_t ioindex, int32_t *val) = 0;
virtual int32_t extboard_read_outio(int32_t ioindex, int32_t *val) = 0;
};
} // namespace iflytop

21
api/zi_code_scaner.hpp

@ -1,21 +0,0 @@
#pragma once
#include <stdint.h>
#include <functional>
#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

14
api/zi_event_bus.hpp

@ -1,14 +0,0 @@
#pragma once
#include <stdint.h>
#include <functional>
#include "apibasic/basic.hpp"
namespace iflytop {
using namespace std;
} // namespace iflytop

14
api/zi_fan_ctrl.hpp

@ -1,14 +0,0 @@
#pragma once
#include <stdint.h>
#include <functional>
#include "apibasic/basic.hpp"
namespace iflytop {
using namespace std;
class ZIFanControler {
public:
virtual int32_t fan_controler_set_speed(int32_t targetTemperature) = 0;
};
} // namespace iflytop

28
api/zi_mini_servo.hpp

@ -1,28 +0,0 @@
#pragma once
#include <stdint.h>
#include <functional>
#include "apibasic/basic.hpp"
namespace iflytop {
using namespace std;
class ZIMiniServo {
public:
virtual ~ZIMiniServo() {}
virtual int32_t mini_servo_enable(int32_t enable) = 0;
virtual int32_t mini_servo_read_pos(int32_t* pos) = 0;
virtual int32_t mini_servo_active_cfg() = 0;
virtual int32_t mini_servo_stop(int32_t breakstop) = 0;
virtual int32_t mini_servo_move_to(int32_t pos3600) = 0; // 舵机模式
virtual int32_t mini_servo_rotate(int32_t speed) = 0; // 速度模式
virtual int32_t mini_servo_rotate_with_torque(int32_t torque) = 0; // 扭矩模式
virtual int32_t mini_servo_set_mid_point() = 0;
virtual int32_t mini_servo_read_io_state(int32_t ioindex, int32_t* val) = 0;
virtual int32_t mini_servo_set_cur_pos(int32_t pos) = 0; // 设置当前位置
};
} // namespace iflytop

33
api/zi_motor.hpp

@ -121,36 +121,3 @@ typedef struct {
uint32_t RST_EV : 1; // 复位被触发。 fatal error
} TMC4361AMotorEventState_t;
namespace iflytop {
using namespace std;
class ZIStepMotor {
public:
virtual ~ZIStepMotor() {}
virtual int32_t step_motor_enable(int32_t enable) = 0;
virtual int32_t step_motor_stop(int32_t breakstop) = 0;
virtual int32_t step_motor_read_pos(int32_t* pos) = 0;
virtual int32_t step_motor_easy_rotate(int32_t direction) = 0;
virtual int32_t step_motor_easy_move_by(int32_t distance) = 0;
virtual int32_t step_motor_easy_move_to(int32_t position) = 0;
virtual int32_t step_motor_easy_move_to_zero() = 0;
virtual int32_t step_motor_easy_set_current_pos(int32_t pos) = 0;
virtual int32_t step_motor_easy_move_to_io(int32_t ioindex, int32_t direction) = 0;
virtual int32_t step_motor_active_cfg() = 0;
virtual int32_t step_motor_read_io_state(int32_t ioindex, int32_t* state) = 0;
virtual int32_t step_motor_easy_move_to_end_point() = 0;
virtual int32_t step_motor_easy_move_to_zero_point_quick() = 0;
virtual int32_t step_motor_easy_reciprocating_motion(int32_t startpos, int32_t endpos, int32_t times) = 0;
/***********************************************************************************************************************
* DEBUG *
***********************************************************************************************************************/
virtual int32_t step_motor_read_tmc5130_status(int32_t* status) = 0;
virtual int32_t step_motor_read_tmc5130_state(int32_t* status) = 0;
virtual int32_t step_motor_read_io_index_in_stm32(int32_t ioindex, int32_t* index_in_stm32) = 0;
virtual int32_t step_motor_set_subdevice_reg(int32_t reg_addr, int32_t reg_val) = 0;
virtual int32_t step_motor_get_subdevice_reg(int32_t reg_addr, int32_t* reg_val) = 0;
};
} // namespace iflytop

24
api/zi_plate_code_scaner_module.hpp

@ -1,24 +0,0 @@
#pragma once
#include <stdint.h>
#include <functional>
#include "apibasic/basic.hpp"
namespace iflytop {
using namespace std;
class ZI_PlateCodeScanerModule {
public:
virtual ~ZI_PlateCodeScanerModule(){};
virtual int32_t plate_code_scaner_push_card_and_scan(int32_t final_stop_pos) = 0;
virtual int32_t plate_code_scaner_stop_scan() = 0;
virtual int32_t plate_code_scaner_read_result(int32_t packetIndex, uint8_t* data, int32_t* len) = 0;
virtual int32_t plate_code_scaner_read_result_point_num(int32_t* packetNum) = 0;
virtual int32_t plate_code_scaner_read_code(int32_t* rawcode, int32_t* legal, int32_t* item, int32_t* lot) = 0;
virtual int32_t plate_code_scaner_adc_readraw(int32_t* val) = 0;
virtual int32_t plate_code_scaner_open_laser() = 0;
virtual int32_t plate_code_scaner_close_laser() = 0;
};
} // namespace iflytop

21
api/zi_water_cooling_temperature_controler.hpp

@ -1,21 +0,0 @@
#pragma once
#include <stdint.h>
#include <functional>
#include "apibasic/basic.hpp"
namespace iflytop {
using namespace std;
class ZI_WaterCoolingTemperatureControler {
public:
virtual int32_t temp_controler_start_hearting(int32_t targetTemperature) = 0;
virtual int32_t temp_controler_stop_hearting() = 0;
virtual int32_t temp_controler_set_peltier_power_level(int32_t level) = 0; // 测试使用
virtual int32_t temp_controler_set_pump_level(int32_t level) = 0; // 测试使用
virtual int32_t temp_controler_set_fan_level(int32_t level) = 0; // 测试使用
virtual int32_t temp_controler_enable_log(int32_t level) = 0; // 测试使用
};
} // namespace iflytop

26
api/zi_xymotor.hpp

@ -1,26 +0,0 @@
#pragma once
#include <stdint.h>
#include <functional>
#include "apibasic/basic.hpp"
namespace iflytop {
using namespace std;
class ZIXYMotor {
public:
virtual ~ZIXYMotor() {}
virtual int32_t xymotor_enable(int32_t enable) = 0;
virtual int32_t xymotor_move_by(int32_t dx, int32_t dy) = 0;
virtual int32_t xymotor_move_to(int32_t x, int32_t y) = 0;
virtual int32_t xymotor_move_to_zero() = 0;
virtual int32_t xymotor_read_pos(int32_t *x, int32_t *y) = 0;
virtual int32_t xymotor_set_pos(int32_t x, int32_t y) = 0;
virtual int32_t xymotor_motor_move_by_direct(int32_t motor1_dpos, int32_t motor2_dpos) = 0;
virtual int32_t xymotor_read_enc_direct(int32_t *enc1, int32_t *enc2) = 0;
virtual int32_t xymotor_read_inio(int32_t ioindex, int32_t *val) = 0;
virtual int32_t xymotor_read_inio_index_in_stm32(int32_t ioindex, int32_t *val) = 0;
};
} // namespace iflytop

25
i_zcanreceiver.hpp

@ -1,25 +0,0 @@
//
// Created by zwsd
//
#pragma once
#include "api/api.hpp"
namespace iflytop {
using namespace zcr;
class IZCanReceiverListener {
public:
virtual void onRceivePacket(zcr_cmd_header_t *rxcmd, int32_t len) = 0;
};
class IZCanReceiver {
public:
public:
virtual void registerListener(IZCanReceiverListener *listener) = 0;
virtual int32_t sendBufAck(zcr_cmd_header_t *rx_cmd_header, uint8_t *data, int32_t len) = 0;
virtual int32_t sendAck(zcr_cmd_header_t *rx_cmd_header, int32_t *ackvar, int32_t nack) = 0;
virtual int32_t sendErrorAck(zcr_cmd_header_t *rx_cmd_header, int32_t errorcode) = 0;
virtual int32_t triggerEvent(zcr_cmd_header_t *rx_cmd_header, uint8_t *data, int32_t len) = 0;
};
} // namespace iflytop

2
protocol.hpp

@ -1,4 +1,2 @@
#pragma once
#include "api/api.hpp"
//
#include "i_zcanreceiver.hpp"
Loading…
Cancel
Save