Browse Source

update

change_pipette_api
zhaohe 2 years ago
parent
commit
b7ad588d09
  1. 10
      api/i_cmdparser.hpp
  2. 2
      api/zi_a8000_optical_module.hpp
  3. 3
      cmdid.hpp
  4. 2
      protocol_parser.cpp
  5. 2
      protocol_proxy.cpp
  6. 2
      protocol_proxy.hpp
  7. 2
      zmodule_device_manager.cpp
  8. 8
      zmodule_device_manager.hpp
  9. 3
      zmodule_device_script_cmder_paser.cpp

10
api/i_cmdparser.hpp

@ -42,7 +42,7 @@ class ICmdParserACK {
}
int32_t *getAck(int index) {
if (index < 0 || index >= rawlen / (int)sizeof(int32_t)) {
if (index < 0 || index >= sizeof(rawdata) / 4) {
return nullptr;
}
return (int32_t *)rawdata + index;
@ -54,13 +54,7 @@ class ICmdParserACK {
}
return *((int32_t *)rawdata + index);
}
int32_t getAckInt32Num() {
if (rawlen != sizeof(int32_t)) {
return 0;
}
return *((int32_t *)rawdata);
}
int32_t getAckInt32Num() { return rawlen / (int)sizeof(int32_t); }
};
typedef function<void(int32_t paramN, const char **paraV, ICmdParserACK *ack)> ICmdFunction_t;

2
api/zi_a8000_optical_module.hpp

@ -25,7 +25,7 @@ class ZIA8000OpticalModule {
* 1.
* 2. 使
*/
virtual int32_t a8000_optical_module_power_ctrl(int32_t state) = 0;
virtual int32_t a8000_optical_open_laser(int32_t type) = 0;
virtual int32_t a8000_optical_close_laser(int32_t type) = 0;
virtual int32_t a8000_optical_set_laster_gain(int32_t type, int32_t gain) = 0;

3
cmdid.hpp

@ -114,6 +114,7 @@ typedef enum {
kpipette_ctrl_move_to_ul = CMDID(5, 3), // para:{4}, ack:{}
#if 0
virtual int32_t a8000_optical_module_power_ctrl(int32_t state) = 0;
virtual int32_t a8000_optical_open_laser(int32_t type) = 0;
virtual int32_t a8000_optical_close_laser(int32_t type) = 0;
virtual int32_t a8000_optical_set_laster_gain(int32_t type, int32_t gain) = 0;
@ -122,7 +123,7 @@ typedef enum {
virtual int32_t a8000_optical_read_laster_adc_val(int32_t type, int32_t* adcval) = 0;
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) = 0;
#endif
ka8000_optical_module_power_ctrl = CMDID(6, 0), // para:{4}, ack:{}
ka8000_optical_open_laser = CMDID(6, 1), // para:{4}, ack:{}
ka8000_optical_close_laser = CMDID(6, 2), // para:{4}, ack:{}
ka8000_optical_set_laster_gain = CMDID(6, 3), // para:{4,4}, ack:{}

2
protocol_parser.cpp

@ -264,6 +264,7 @@ void ZIProtocolParser::onRceivePacket(zcr_cmd_header_t* rxcmd, uint8_t* data, in
PROCESS_PACKET_10(kpipette_ctrl_move_to_ul, ZIPipetteCtrlModule, pipette_ctrl_move_to_ul);
#if 0
virtual int32_t a8000_optical_module_power_ctrl(int32_t state) = 0;
virtual int32_t a8000_optical_open_laser(int32_t type) = 0;
virtual int32_t a8000_optical_close_laser(int32_t type) = 0;
virtual int32_t a8000_optical_set_laster_gain(int32_t type, int32_t gain) = 0;
@ -272,6 +273,7 @@ void ZIProtocolParser::onRceivePacket(zcr_cmd_header_t* rxcmd, uint8_t* data, in
virtual int32_t a8000_optical_read_laster_adc_val(int32_t type, int32_t* adcval) = 0;
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) = 0;
#endif
PROCESS_PACKET_10(ka8000_optical_module_power_ctrl, ZIA8000OpticalModule, a8000_optical_module_power_ctrl);
PROCESS_PACKET_10(ka8000_optical_open_laser, ZIA8000OpticalModule, a8000_optical_open_laser);
PROCESS_PACKET_10(ka8000_optical_close_laser, ZIA8000OpticalModule, a8000_optical_close_laser);
PROCESS_PACKET_20(ka8000_optical_set_laster_gain, ZIA8000OpticalModule, a8000_optical_set_laster_gain);

2
protocol_proxy.cpp

@ -204,6 +204,7 @@ int32_t ZIProtocolProxy::pipette_ctrl_put_tip() { PROXY_IMPL_00(kpipette_ctrl_pu
int32_t ZIProtocolProxy::pipette_ctrl_move_to_ul(int32_t para0) { PROXY_IMPL_10(kpipette_ctrl_move_to_ul, 30); };
#if 0
virtual int32_t a8000_optical_module_power_ctrl(int32_t state) = 0;
virtual int32_t a8000_optical_open_laser(int32_t type) = 0;
virtual int32_t a8000_optical_close_laser(int32_t type) = 0;
virtual int32_t a8000_optical_set_laster_gain(int32_t type, int32_t gain) = 0;
@ -213,6 +214,7 @@ int32_t ZIProtocolProxy::pipette_ctrl_move_to_ul(int32_t para0) { PROXY_IMPL_10(
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) = 0;
#endif
int32_t ZIProtocolProxy::a8000_optical_module_power_ctrl(int32_t para0) { PROXY_IMPL_10(ka8000_optical_module_power_ctrl, 30); }
int32_t ZIProtocolProxy::a8000_optical_open_laser(int32_t para0) { PROXY_IMPL_10(ka8000_optical_open_laser, 30); }
int32_t ZIProtocolProxy::a8000_optical_close_laser(int32_t para0) { PROXY_IMPL_10(ka8000_optical_close_laser, 30); }
int32_t ZIProtocolProxy::a8000_optical_set_laster_gain(int32_t para0, int32_t para1) { PROXY_IMPL_20(ka8000_optical_set_laster_gain, 30); }

2
protocol_proxy.hpp

@ -156,6 +156,7 @@ class ZIProtocolProxy : public ZIMotor, //
virtual int32_t pipette_ctrl_move_to_ul(int32_t ul) override;
#if 0
virtual int32_t a8000_optical_module_power_ctrl(int32_t state) = 0;
virtual int32_t a8000_optical_open_laser(int32_t type) = 0;
virtual int32_t a8000_optical_close_laser(int32_t type) = 0;
virtual int32_t a8000_optical_set_laster_gain(int32_t type, int32_t gain) = 0;
@ -165,6 +166,7 @@ class ZIProtocolProxy : public ZIMotor, //
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) = 0;
#endif
virtual int32_t a8000_optical_module_power_ctrl(int32_t state) override;
virtual int32_t a8000_optical_open_laser(int32_t type) override;
virtual int32_t a8000_optical_close_laser(int32_t type) override;
virtual int32_t a8000_optical_set_laster_gain(int32_t type, int32_t gain) override;

2
zmodule_device_manager.cpp

@ -145,6 +145,7 @@ int32_t ZModuleDeviceManager::pipette_ctrl_put_tip(uint16_t id) { PROXY_IMPL(ZIP
int32_t ZModuleDeviceManager::pipette_ctrl_move_to_ul(uint16_t id, int32_t ul) { PROXY_IMPL(ZIPipetteCtrlModule, pipette_ctrl_move_to_ul, ul); }
#if 0
virtual int32_t a8000_optical_module_power_ctrl(int32_t state) = 0;
virtual int32_t a8000_optical_open_laser(int32_t type) = 0;
virtual int32_t a8000_optical_close_laser(int32_t type) = 0;
virtual int32_t a8000_optical_set_laster_gain(int32_t type, int32_t gain) = 0;
@ -154,6 +155,7 @@ int32_t ZModuleDeviceManager::pipette_ctrl_move_to_ul(uint16_t id, int32_t ul) {
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) = 0;
#endif
int32_t ZModuleDeviceManager::a8000_optical_module_power_ctrl(uint16_t id, int32_t state) { PROXY_IMPL(ZIA8000OpticalModule, a8000_optical_module_power_ctrl, state); }
int32_t ZModuleDeviceManager::a8000_optical_open_laser(uint16_t id, int32_t type) { PROXY_IMPL(ZIA8000OpticalModule, a8000_optical_open_laser, type); }
int32_t ZModuleDeviceManager::a8000_optical_close_laser(uint16_t id, int32_t type) { PROXY_IMPL(ZIA8000OpticalModule, a8000_optical_close_laser, type); }
int32_t ZModuleDeviceManager::a8000_optical_set_laster_gain(uint16_t id, int32_t type, int32_t gain) { PROXY_IMPL(ZIA8000OpticalModule, a8000_optical_set_laster_gain, type, gain); }

8
zmodule_device_manager.hpp

@ -27,6 +27,12 @@ class ZModuleDeviceManager {
for (auto &cb : m_on_reg_val_change_event_cbs)
if (cb) cb(moduleid, event_id, eventval);
}
void for_each_module(function<void(int32_t moduleid)> cb) {
for (auto &it : m_modulers) {
if (cb) cb(it.first);
}
}
/*******************************************************************************
* ZIModule *
*******************************************************************************/
@ -185,6 +191,7 @@ class ZModuleDeviceManager {
virtual int32_t pipette_ctrl_move_to_ul(uint16_t id, int32_t ul);
#if 0
virtual int32_t a8000_optical_module_power_ctrl(int32_t state) = 0;
virtual int32_t a8000_optical_open_laser(int32_t type) = 0;
virtual int32_t a8000_optical_close_laser(int32_t type) = 0;
virtual int32_t a8000_optical_set_laster_gain(int32_t type, int32_t gain) = 0;
@ -194,6 +201,7 @@ class ZModuleDeviceManager {
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) = 0;
#endif
virtual int32_t a8000_optical_module_power_ctrl(uint16_t id, int32_t state);
virtual int32_t a8000_optical_open_laser(uint16_t id, int32_t type);
virtual int32_t a8000_optical_close_laser(uint16_t id, int32_t type);
virtual int32_t a8000_optical_set_laster_gain(uint16_t id, int32_t type, int32_t gain);

3
zmodule_device_script_cmder_paser.cpp

@ -220,8 +220,8 @@ void ZModuleDeviceScriptCmderPaser::regfn() {
PROCESS_PACKET_10(pipette_ctrl_put_tip, "(mid)");
PROCESS_PACKET_20(pipette_ctrl_move_to_ul, "(mid, ul)");
#if 0
virtual int32_t a8000_optical_module_power_ctrl(int32_t state) = 0;
virtual int32_t a8000_optical_open_laser(int32_t type) = 0;
virtual int32_t a8000_optical_close_laser(int32_t type) = 0;
virtual int32_t a8000_optical_set_laster_gain(int32_t type, int32_t gain) = 0;
@ -231,6 +231,7 @@ void ZModuleDeviceScriptCmderPaser::regfn() {
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) = 0;
#endif
PROCESS_PACKET_20(a8000_optical_module_power_ctrl, "(mid,state)");
PROCESS_PACKET_20(a8000_optical_open_laser, "(mid,type)");
PROCESS_PACKET_20(a8000_optical_close_laser, "(mid,type)");
PROCESS_PACKET_30(a8000_optical_set_laster_gain, "(type,mid,gain)");

Loading…
Cancel
Save