Browse Source

add new initialize to ZModuleDeviceManager

change_pipette_api
zhaohe 2 years ago
parent
commit
e9e173b2cc
  1. 6
      zmodule_device_manager.cpp
  2. 8
      zmodule_device_manager.hpp

6
zmodule_device_manager.cpp

@ -13,7 +13,10 @@ using namespace std;
} \ } \
return module->functionName(__VA_ARGS__); return module->functionName(__VA_ARGS__);
void ZModuleDeviceManager::initialize(IZcanCmderMaster *cancmder) {
void ZModuleDeviceManager::initialize(IZcanCmderMaster *cancmder) { regCanCmder(cancmder); }
void ZModuleDeviceManager::initialize() {}
void ZModuleDeviceManager::regCanCmder(IZcanCmderMaster *cancmder) {
m_cancmder = cancmder; m_cancmder = cancmder;
// assert(m_cancmder != nullptr); // assert(m_cancmder != nullptr);
if (m_cancmder) { if (m_cancmder) {
@ -28,6 +31,7 @@ void ZModuleDeviceManager::initialize(IZcanCmderMaster *cancmder) {
}); });
} }
} }
void ZModuleDeviceManager::registerModule(ZIModule *module) { void ZModuleDeviceManager::registerModule(ZIModule *module) {
assert(module != nullptr); assert(module != nullptr);
int32_t id = 0; int32_t id = 0;

8
zmodule_device_manager.hpp

@ -20,12 +20,15 @@ class ZModuleDeviceManager {
public: public:
void initialize(IZcanCmderMaster *m_cancmder); void initialize(IZcanCmderMaster *m_cancmder);
void initialize();
void regCanCmder(IZcanCmderMaster *m_cancmder);
void registerModule(ZIModule *module); void registerModule(ZIModule *module);
void regOnRegValChangeEvent(regval_change_event_t on_regval_change_event) { m_on_reg_val_change_event_cbs.push_back(on_regval_change_event); } void regOnRegValChangeEvent(regval_change_event_t on_regval_change_event) { m_on_reg_val_change_event_cbs.push_back(on_regval_change_event); }
void callOnRegValChangeEvent(int32_t moduleid, int32_t regindex, int32_t oldval, int32_t toval) { void callOnRegValChangeEvent(int32_t moduleid, int32_t regindex, int32_t oldval, int32_t toval) {
for (auto &cb : m_on_reg_val_change_event_cbs) for (auto &cb : m_on_reg_val_change_event_cbs)
if (cb) cb(moduleid, regindex, oldval,toval);
if (cb) cb(moduleid, regindex, oldval, toval);
} }
void for_each_module(function<void(int32_t moduleid)> cb) { void for_each_module(function<void(int32_t moduleid)> cb) {
@ -138,7 +141,6 @@ class ZModuleDeviceManager {
virtual int32_t motor_easy_set_current_pos(int32_t pos) { return err::koperation_not_support; }; virtual int32_t motor_easy_set_current_pos(int32_t pos) { return err::koperation_not_support; };
virtual int32_t motor_easy_move_to_io(int32_t ioindex, int32_t direction) { return err::koperation_not_support; }; virtual int32_t motor_easy_move_to_io(int32_t ioindex, int32_t direction) { return err::koperation_not_support; };
#endif #endif
virtual int32_t motor_enable(uint16_t id, int32_t enable); virtual int32_t motor_enable(uint16_t id, int32_t enable);
virtual int32_t motor_rotate(uint16_t id, int32_t direction, int32_t motor_velocity, int32_t acc); virtual int32_t motor_rotate(uint16_t id, int32_t direction, int32_t motor_velocity, int32_t acc);
@ -156,7 +158,7 @@ class ZModuleDeviceManager {
virtual int32_t motor_move_to_zero_backward_and_calculated_shift(uint16_t id, int32_t findzerospeed, int32_t findzeroedge_speed, int32_t acc, int32_t overtime); virtual int32_t motor_move_to_zero_backward_and_calculated_shift(uint16_t id, int32_t findzerospeed, int32_t findzeroedge_speed, int32_t acc, int32_t overtime);
virtual int32_t motor_move_to_torque(uint16_t id, int32_t pos, int32_t torque, int32_t overtime); virtual int32_t motor_move_to_torque(uint16_t id, int32_t pos, int32_t torque, int32_t overtime);
virtual int32_t motor_calculated_pos_by_move_to_zero(uint16_t id); virtual int32_t motor_calculated_pos_by_move_to_zero(uint16_t id);
virtual int32_t motor_easy_rotate(uint16_t id, int32_t direction); virtual int32_t motor_easy_rotate(uint16_t id, int32_t direction);
virtual int32_t motor_easy_move_by(uint16_t id, int32_t distance); virtual int32_t motor_easy_move_by(uint16_t id, int32_t distance);
virtual int32_t motor_easy_move_to(uint16_t id, int32_t position); virtual int32_t motor_easy_move_to(uint16_t id, int32_t position);

Loading…
Cancel
Save