Browse Source

update

change_pipette_api
zhaohe 2 years ago
parent
commit
3144ce2a8f
  1. 22
      api/state_index.hpp
  2. 4
      api/zi_module.hpp
  3. 6
      cmdid.hpp
  4. 7
      protocol_parser.cpp
  5. 3
      protocol_proxy.cpp
  6. 8
      protocol_proxy.hpp
  7. 2
      zmodule_device_manager.cpp
  8. 8
      zmodule_device_manager.hpp
  9. 5
      zmodule_device_script_cmder_paser.cpp

22
api/state_index.hpp

@ -0,0 +1,22 @@
#pragma once
#include <stdint.h>
namespace iflytop {
using namespace std;
#define STATE_INDEX(type, subconfigindex) (type + subconfigindex)
typedef enum {
kstate_module_status = STATE_INDEX(0, 0), //
kstate_module_errorcode = STATE_INDEX(0, 1), //
kstate_motor_x_pos = STATE_INDEX(100, 0), // x偏移
kstate_motor_y_pos = STATE_INDEX(100, 1), // y偏移
kstate_motor_z_pos = STATE_INDEX(100, 2), // z偏移
kstate_motor_move = STATE_INDEX(100, 3), // 电机是否移动
kstate_motor_enable = STATE_INDEX(100, 4), // 电机是否使能
} state_index_t;
} // namespace iflytop

4
api/zi_module.hpp

@ -25,8 +25,8 @@ class ZIModule {
virtual int32_t module_set_param(int32_t param_id, int32_t param_value) { return err::koperation_not_support; }
virtual int32_t module_get_param(int32_t param_id, int32_t *param_value) { return err::koperation_not_support; }
// virtual int32_t module_set_state(int32_t state_id, int32_t state_value) { return err::koperation_not_support; }
// virtual int32_t module_get_state(int32_t state_id, int32_t *state_value) { return err::koperation_not_support; }
virtual int32_t module_set_state(int32_t state_id, int32_t state_value) { return err::koperation_not_support; }
virtual int32_t module_get_state(int32_t state_id, int32_t *state_value) { return err::koperation_not_support; }
virtual int32_t module_readio(int32_t *io) { return err::koperation_not_support; }
virtual int32_t module_writeio(int32_t io) { return err::koperation_not_support; }

6
cmdid.hpp

@ -4,6 +4,10 @@
namespace iflytop {
namespace zcr {
typedef enum {
#if 0
virtual int32_t module_set_state(int32_t state_id, int32_t state_value) { return err::koperation_not_support; }
virtual int32_t module_get_state(int32_t state_id, int32_t *state_value) { return err::koperation_not_support; }
#endif
kmodule_stop = CMDID(1, 1), // para:{}, ack:{}
kmodule_break = CMDID(1, 2), // para:{}, ack:{}
kmodule_get_last_exec_status = CMDID(1, 3), // para:{}, ack:{4}
@ -20,6 +24,8 @@ typedef enum {
kmodule_factory_reset = CMDID(1, 14), // para:{}, ack:{}
kmodule_flush_cfg = CMDID(1, 15), // para:{}, ack:{}
kmodule_active_cfg = CMDID(1, 16), // para:{}, ack:{}
kmodule_set_state = CMDID(1, 17), // para:{4,4}, ack:{}
kmodule_get_state = CMDID(1, 18), // para:{4}, ack:{4}
kmotor_enable = CMDID(2, 1), // para:{1}, ack:{}
kmotor_rotate = CMDID(2, 2), // para:{1,4}, ack:{}

7
protocol_parser.cpp

@ -129,6 +129,9 @@ void ZIProtocolParser::onRceivePacket(zcr_cmd_header_t* rxcmd, uint8_t* data, in
virtual int32_t module_factory_reset() { return err::koperation_not_support; }
virtual int32_t module_flush_cfg() { return err::koperation_not_support; }
virtual int32_t module_active_cfg() { return err::koperation_not_support; }
virtual int32_t module_set_state(int32_t state_id, int32_t state_value) { return err::koperation_not_support; }
virtual int32_t module_get_state(int32_t state_id, int32_t *state_value) { return err::koperation_not_support; }
#endif
PROCESS_PACKET_00(kmodule_stop, ZIModule, module_stop);
PROCESS_PACKET_00(kmodule_break, ZIModule, module_break);
@ -146,6 +149,10 @@ void ZIProtocolParser::onRceivePacket(zcr_cmd_header_t* rxcmd, uint8_t* data, in
PROCESS_PACKET_00(kmodule_factory_reset, ZIModule, module_factory_reset);
PROCESS_PACKET_00(kmodule_flush_cfg, ZIModule, module_flush_cfg);
PROCESS_PACKET_00(kmodule_active_cfg, ZIModule, module_active_cfg);
PROCESS_PACKET_20(kmodule_set_state, ZIModule, module_set_state);
PROCESS_PACKET_11(kmodule_get_state, ZIModule, module_get_state);
/*******************************************************************************
* motor *

3
protocol_proxy.cpp

@ -95,6 +95,9 @@ int32_t ZIProtocolProxy::module_factory_reset() { PROXY_IMPL_00(kmodule_factory_
int32_t ZIProtocolProxy::module_flush_cfg() { PROXY_IMPL_00(kmodule_flush_cfg); }
int32_t ZIProtocolProxy::module_active_cfg() { PROXY_IMPL_00(kmodule_active_cfg); }
int32_t ZIProtocolProxy::module_set_state(int32_t para0, int32_t para1) { PROXY_IMPL_20(kmodule_set_state); };
int32_t ZIProtocolProxy::module_get_state(int32_t para0, int32_t *ack0) { PROXY_IMPL_11(kmodule_get_state); };
/*******************************************************************************
* ZIMotor *
*******************************************************************************/

8
protocol_proxy.hpp

@ -27,7 +27,10 @@ class ZIProtocolProxy : public ZIMotor, //
/*******************************************************************************
* ZIModule *
*******************************************************************************/
#if 0
virtual int32_t module_set_state(int32_t state_id, int32_t state_value) { return err::koperation_not_support; }
virtual int32_t module_get_state(int32_t state_id, int32_t *state_value) { return err::koperation_not_support; }
#endif
virtual int32_t module_stop() override;
virtual int32_t module_break() override;
virtual int32_t module_get_last_exec_status(int32_t *status) override;
@ -51,6 +54,9 @@ class ZIProtocolProxy : public ZIMotor, //
virtual int32_t module_flush_cfg() override;
virtual int32_t module_active_cfg() override;
virtual int32_t module_set_state(int32_t state_id, int32_t state_value) override;
virtual int32_t module_get_state(int32_t state_id, int32_t *state_value) override;
/*******************************************************************************
* ZIMotor *
*******************************************************************************/

2
zmodule_device_manager.cpp

@ -44,6 +44,8 @@ int32_t ZModuleDeviceManager::module_get_inited_flag(uint16_t id, int32_t *flag)
int32_t ZModuleDeviceManager::module_factory_reset(uint16_t id) { PROXY_IMPL(ZIModule, module_factory_reset); }
int32_t ZModuleDeviceManager::module_flush_cfg(uint16_t id) { PROXY_IMPL(ZIModule, module_flush_cfg); }
int32_t ZModuleDeviceManager::module_active_cfg(uint16_t id) { PROXY_IMPL(ZIModule, module_active_cfg); }
int32_t ZModuleDeviceManager::module_set_state(uint16_t id, int32_t state_id, int32_t state_value) { PROXY_IMPL(ZIModule, module_set_state, state_id, state_value); }
int32_t ZModuleDeviceManager::module_get_state(uint16_t id, int32_t state_id, int32_t *state_value) { PROXY_IMPL(ZIModule, module_get_state, state_id, state_value); }
/*******************************************************************************
* ZIMotor *
*******************************************************************************/

8
zmodule_device_manager.hpp

@ -18,6 +18,7 @@ class ZModuleDeviceManager {
* ZIModule *
*******************************************************************************/
#if 0
virtual ~ZIModule() {}
@ -53,8 +54,10 @@ class ZModuleDeviceManager {
virtual int32_t module_factory_reset() { return err::koperation_not_support; }
virtual int32_t module_flush_cfg() { return err::koperation_not_support; }
virtual int32_t module_active_cfg() { return err::koperation_not_support; }
#endif
virtual int32_t module_set_state(int32_t state_id, int32_t state_value) { return err::koperation_not_support; }
virtual int32_t module_get_state(int32_t state_id, int32_t *state_value) { return err::koperation_not_support; }
#endif
int32_t module_stop(uint16_t id);
int32_t module_break(uint16_t id);
@ -79,6 +82,9 @@ class ZModuleDeviceManager {
int32_t module_flush_cfg(uint16_t id);
int32_t module_active_cfg(uint16_t id);
int32_t module_set_state(uint16_t id, int32_t state_id, int32_t state_value);
int32_t module_get_state(uint16_t id, int32_t state_id, int32_t *state_value);
/*******************************************************************************
* ZIMotor *
*******************************************************************************/

5
zmodule_device_script_cmder_paser.cpp

@ -72,7 +72,8 @@ void ZModuleDeviceScriptCmderPaser::initialize(ICmdParser* cancmder, ZModuleDevi
int32_t module_flush_cfg(uint16_t id);
int32_t module_active_cfg(uint16_t id);
int32_t module_set_state(uint16_t id, int32_t state_id, int32_t state_value);
int32_t module_get_state(uint16_t id, int32_t state_id, int32_t *state_value);
/*******************************************************************************
* ZIMotor *
*******************************************************************************/
@ -109,6 +110,8 @@ void ZModuleDeviceScriptCmderPaser::initialize(ICmdParser* cancmder, ZModuleDevi
PROCESS_PACKET_10(module_factory_reset, "(mid)");
PROCESS_PACKET_10(module_flush_cfg, "(mid)");
PROCESS_PACKET_10(module_active_cfg, "(mid)");
PROCESS_PACKET_30(module_set_state, "(mid, state_id, state_value)");
PROCESS_PACKET_21(module_get_state, "(mid, state_id)");
PROCESS_PACKET_20(motor_enable, "(mid, enable)");
PROCESS_PACKET_40(motor_rotate, "(mid, direction, motor_velocity, acc)");

Loading…
Cancel
Save