Browse Source

update

master
zhaohe 2 years ago
parent
commit
0aae228f31
  1. 28
      api/i_eeprom.hpp
  2. 2
      api/i_mini_servo_module.hpp
  3. 2
      api/i_motor_laser_code_scanner.hpp
  4. 2
      api/i_pipette_module.hpp
  5. 2
      api/i_step_motor_ctrl_module.hpp
  6. 2
      api/i_xyrobot_ctrl_module.hpp
  7. 24
      zcancmder_protocol.hpp
  8. 1
      zcancmder_protocol_basic.hpp

28
api/i_eeprom.hpp

@ -0,0 +1,28 @@
#pragma once
#include <stdint.h>
#include <functional>
#include "basic_type.hpp"
//
namespace iflytop {
using namespace std;
class I_EEPROMModule {
public:
#pragma pack(1)
typedef struct {
s32 connected;
} eeprom_status_t;
#pragma pack()
public:
virtual int32_t start_monitor_status(function<void(eeprom_status_t& status)> cb) = 0;
virtual int32_t stop_monitor_status() = 0;
virtual int32_t read(u16 sector_index, u16 sector_size, zcancmder_read_ram_ack_t& ack) = 0;
virtual ~I_EEPROMModule() {}
};
} // namespace iflytop

2
api/i_mini_servo_module.hpp

@ -113,5 +113,7 @@ class I_MiniServoModule {
virtual int32_t get_run_param(run_param_t& param) = 0; virtual int32_t get_run_param(run_param_t& param) = 0;
virtual int32_t get_basic_param(basic_param_t& param) = 0; virtual int32_t get_basic_param(basic_param_t& param) = 0;
virtual int32_t get_warning_limit_param(warning_limit_param_t& param) = 0; virtual int32_t get_warning_limit_param(warning_limit_param_t& param) = 0;
virtual ~I_MiniServoModule() {}
}; };
} // namespace iflytop } // namespace iflytop

2
api/i_motor_laser_code_scanner.hpp

@ -42,6 +42,8 @@ class I_MotorLaserCodeScanner {
* @return int32_t * @return int32_t
*/ */
virtual int32_t get_scan_result(u16 sector_index, u16 sector_size, zcancmder_read_ram_ack_t& ack) = 0; virtual int32_t get_scan_result(u16 sector_index, u16 sector_size, zcancmder_read_ram_ack_t& ack) = 0;
virtual ~I_MotorLaserCodeScanner() {}
}; };
} // namespace iflytop } // namespace iflytop

2
api/i_pipette_module.hpp

@ -58,5 +58,7 @@ class I_PipetteModule {
virtual int32_t get_z_motor_para(I_StepMotorCtrlModule::base_param_t &z_motor_param) = 0; virtual int32_t get_z_motor_para(I_StepMotorCtrlModule::base_param_t &z_motor_param) = 0;
virtual int32_t set_base_param(const base_param_t &base_param) = 0; virtual int32_t set_base_param(const base_param_t &base_param) = 0;
virtual int32_t get_base_param(base_param_t &base_param) = 0; virtual int32_t get_base_param(base_param_t &base_param) = 0;
virtual ~I_PipetteModule() {}
}; };
} // namespace iflytop } // namespace iflytop

2
api/i_step_motor_ctrl_module.hpp

@ -96,5 +96,7 @@ class I_StepMotorCtrlModule {
virtual int32_t set_base_param(const base_param_t& param) = 0; virtual int32_t set_base_param(const base_param_t& param) = 0;
virtual int32_t get_base_param(base_param_t& param) = 0; virtual int32_t get_base_param(base_param_t& param) = 0;
~I_StepMotorCtrlModule() {}
}; };
} // namespace iflytop } // namespace iflytop

2
api/i_xyrobot_ctrl_module.hpp

@ -93,5 +93,7 @@ class I_XYRobotCtrlModule {
virtual int32_t get_base_param(base_param_t& ack) = 0; virtual int32_t get_base_param(base_param_t& ack) = 0;
// virtual int32_t set_run_to_zero_param(uint8_t operation, const run_to_zero_param_t& param, run_to_zero_param_t& ack) = 0; // virtual int32_t set_run_to_zero_param(uint8_t operation, const run_to_zero_param_t& param, run_to_zero_param_t& ack) = 0;
// virtual int32_t set_warning_limit_param(uint8_t operation, const warning_limit_param_t& param, warning_limit_param_t& ack) = 0; // virtual int32_t set_warning_limit_param(uint8_t operation, const warning_limit_param_t& param, warning_limit_param_t& ack) = 0;
virtual ~I_XYRobotCtrlModule() {}
}; };
} // namespace iflytop } // namespace iflytop

24
zcancmder_protocol.hpp

@ -6,6 +6,7 @@
#include "api/i_pipette_module.hpp" #include "api/i_pipette_module.hpp"
#include "api/i_step_motor_ctrl_module.hpp" #include "api/i_step_motor_ctrl_module.hpp"
#include "api/i_xyrobot_ctrl_module.hpp" #include "api/i_xyrobot_ctrl_module.hpp"
#include "api/i_eeprom.hpp"
#include "zcancmder_protocol_basic.hpp" #include "zcancmder_protocol_basic.hpp"
namespace iflytop { namespace iflytop {
namespace zcr { namespace zcr {
@ -88,8 +89,10 @@ typedef enum {
/******************************************************************************* /*******************************************************************************
* |Module_1009:EEPROM * * |Module_1009:EEPROM *
*******************************************************************************/ *******************************************************************************/
kcmd_eeprom_read_block = CMDID(1009, 0), // 读取EEPROM
kcmd_eeprom_write_block = CMDID(1009, 1), // 写入EEPROM
kcmd_eeprom_start_monitor_status = CMDID(1009, 0), // 监控EEPROM状态
kcmd_eeprom_stop_monitor_status = CMDID(1009, 1), // 停止监控EEPROM状态
kcmd_eeprom_read_block = CMDID(1009, 2), // 读取EEPROM
kcmd_eeprom_write_block = CMDID(1009, 3), // 写入EEPROM
/******************************************************************************* /*******************************************************************************
* |Module_1010: * * |Module_1010: *
@ -255,13 +258,26 @@ ZPACKET_CMD_ACK(kcmd_mini_servo_ctrl_get_warning_limit_param, CMD(u16 id; u8 opt
/******************************************************************************* /*******************************************************************************
* |Module_1009:EEPROM * * |Module_1009:EEPROM *
*******************************************************************************/ *******************************************************************************/
// kcmd_eeprom_start_monitor_status
// kcmd_eeprom_stop_monitor_status
// kcmd_eeprom_read_block
// kcmd_eeprom_write_block
#if 0
ZPACKET_CMD_ACK_AND_REPORT(kcmd_pipette_module_pipette_move_to_ul, CMD(u16 id; s16 take_volume_mm;), ACK(u16 id;), REPORT(u16 id; int32_t exec_status;));
#endif
ZPACKET_CMD_ACK_AND_REPORT(kcmd_eeprom_start_monitor_status, CMD(u16 id;), ACK(u16 id;), REPORT(u16 id; I_EEPROMModule::eeprom_status_t status;));
ZPACKET_CMD_ACK(kcmd_eeprom_stop_monitor_status, CMD(u16 id;), ACK(u16 id;));
ZPACKET_CMD_ACK(kcmd_eeprom_read_block, ZPACKET_CMD_ACK(kcmd_eeprom_read_block,
CMD(u16 id; u16 addr; u16 len;), //
ACK(u16 id; u16 addr; u16 len; u8 data[0];));
CMD(u16 id; u16 sector_index; u16 sector_size;), //
ACK(u16 id; zcancmder_read_ram_ack_t ack;));
#if 0
ZPACKET_CMD_ACK(kcmd_eeprom_write_block, ZPACKET_CMD_ACK(kcmd_eeprom_write_block,
CMD(u16 id; u16 addr; u16 len; u8 data[0];), // CMD(u16 id; u16 addr; u16 len; u8 data[0];), //
ACK(u16 id; u16 addr; u16 len;)); ACK(u16 id; u16 addr; u16 len;));
#endif
/******************************************************************************* /*******************************************************************************
* |Module_1010: * * |Module_1010: *
*******************************************************************************/ *******************************************************************************/

1
zcancmder_protocol_basic.hpp

@ -76,6 +76,7 @@ typedef enum {
kpt_ack = 1, kpt_ack = 1,
kpt_error_ack = 2, kpt_error_ack = 2,
kpt_cmd_exec_status_report = 3, kpt_cmd_exec_status_report = 3,
kpt_report = 4,
} PacketType_t; } PacketType_t;
#define CMDID(cmdid, subcmdid) ((cmdid << 8) + subcmdid) #define CMDID(cmdid, subcmdid) ((cmdid << 8) + subcmdid)

Loading…
Cancel
Save