Browse Source

update

master
zhaohe 2 years ago
parent
commit
b2435ca786
  1. 2
      components/subcanmodule/zcancmder_subboard_initer.cpp
  2. 128
      components/xy_robot_ctrl_module/xy_robot_ctrl_module.cpp
  3. 18
      components/xy_robot_ctrl_module/xy_robot_ctrl_module.hpp
  4. 95
      components/zprotocol_helper/micro_computer_module_device_script_cmder_paser.cpp
  5. 12
      components/zprotocol_helper/micro_computer_module_device_script_cmder_paser.hpp
  6. 2
      components/zprotocols/zcancmder_v2

2
components/subcanmodule/zcancmder_subboard_initer.cpp

@ -12,7 +12,7 @@ const char* TAG = PC_PROJECT_NAME;
__weak void nvs_init_cb() {} __weak void nvs_init_cb() {}
extern DMA_HandleTypeDef PC_DEBUG_UART_DMA_HANDLER; extern DMA_HandleTypeDef PC_DEBUG_UART_DMA_HANDLER;
int32_t ZCancmderSubboardIniter::get_module_id(int32_t moduleIndex) { return m_cfg.deviceId * 100 + moduleIndex; }
int32_t ZCancmderSubboardIniter::get_module_id(int32_t moduleIndex) { return m_cfg.deviceId * 10 + moduleIndex; }
void ZCancmderSubboardIniter::init(cfg_t* cfg) { void ZCancmderSubboardIniter::init(cfg_t* cfg) {
m_cfg = *cfg; m_cfg = *cfg;

128
components/xy_robot_ctrl_module/xy_robot_ctrl_module.cpp

@ -631,91 +631,45 @@ int32_t XYRobotCtrlModule::module_get_error(int32_t* iserror) {
} }
int32_t XYRobotCtrlModule::module_clear_error() { return 0; } int32_t XYRobotCtrlModule::module_clear_error() { return 0; }
#define SET_REG(param_id, modulereg) \
case param_id: \
modulereg = val; \
break;
#define GET_REG(param_id, modulereg) \
case param_id: \
*val = modulereg; \
break;
int32_t XYRobotCtrlModule::module_set_reg(int32_t param_id, int32_t val) {
switch (param_id) {
SET_REG(kreg_motor_x_shift, m_basecfg.shift_x);
SET_REG(kreg_motor_y_shift, m_basecfg.shift_y);
SET_REG(kreg_motor_x_shaft, m_basecfg.x_shaft);
SET_REG(kreg_motor_y_shaft, m_basecfg.y_shaft);
SET_REG(kreg_motor_x_one_circle_pulse, m_basecfg.distance_scale);
SET_REG(kreg_motor_y_one_circle_pulse, m_basecfg.distance_scale);
SET_REG(kreg_motor_default_velocity, m_basecfg.maxspeed);
SET_REG(kreg_motor_default_acc, m_basecfg.acc);
SET_REG(kreg_motor_default_dec, m_basecfg.dec);
SET_REG(kreg_motor_default_break_dec, m_basecfg.breakdec);
SET_REG(kreg_motor_run_to_zero_max_x_d, m_basecfg.run_to_zero_max_d);
SET_REG(kreg_motor_run_to_zero_max_y_d, m_basecfg.run_to_zero_max_d);
SET_REG(kreg_motor_look_zero_edge_max_x_d, m_basecfg.look_zero_edge_max_d);
SET_REG(kreg_motor_look_zero_edge_max_y_d, m_basecfg.look_zero_edge_max_d);
SET_REG(kreg_motor_run_to_zero_speed, m_basecfg.run_to_zero_speed);
SET_REG(kreg_motor_run_to_zero_dec, m_basecfg.run_to_zero_dec);
SET_REG(kreg_motor_look_zero_edge_speed, m_basecfg.look_zero_edge_speed);
SET_REG(kreg_motor_look_zero_edge_dec, m_basecfg.look_zero_edge_dec);
SET_REG(kreg_stepmotor_ihold, m_basecfg.ihold);
SET_REG(kreg_stepmotor_irun, m_basecfg.irun);
SET_REG(kreg_stepmotor_iholddelay, m_basecfg.iholddelay);
SET_REG(kreg_xyrobot_robot_type, m_basecfg.robot_type);
default:
return err::kmodule_not_find_config_index;
}
return 0;
}
int32_t XYRobotCtrlModule::module_get_reg(int32_t param_id, int32_t* val) {
int32_t XYRobotCtrlModule::module_set_reg(int32_t param_id, int32_t param_value) { return module_xxx_reg(param_id, false, param_value); }
int32_t XYRobotCtrlModule::module_get_reg(int32_t param_id, int32_t* param_value) { return module_xxx_reg(param_id, true, *param_value); }
int32_t XYRobotCtrlModule::module_xxx_reg(int32_t param_id, bool read, int32_t& val) {
switch (param_id) { switch (param_id) {
GET_REG(kreg_motor_x_shift, m_basecfg.shift_x);
GET_REG(kreg_motor_y_shift, m_basecfg.shift_y);
GET_REG(kreg_motor_x_shaft, m_basecfg.x_shaft);
GET_REG(kreg_motor_y_shaft, m_basecfg.y_shaft);
GET_REG(kreg_motor_x_one_circle_pulse, m_basecfg.distance_scale);
GET_REG(kreg_motor_y_one_circle_pulse, m_basecfg.distance_scale);
GET_REG(kreg_motor_default_velocity, m_basecfg.maxspeed);
GET_REG(kreg_motor_default_acc, m_basecfg.acc);
GET_REG(kreg_motor_default_dec, m_basecfg.dec);
GET_REG(kreg_motor_default_break_dec, m_basecfg.breakdec);
GET_REG(kreg_motor_run_to_zero_max_x_d, m_basecfg.run_to_zero_max_d);
GET_REG(kreg_motor_run_to_zero_max_y_d, m_basecfg.run_to_zero_max_d);
GET_REG(kreg_motor_look_zero_edge_max_x_d, m_basecfg.look_zero_edge_max_d);
GET_REG(kreg_motor_look_zero_edge_max_y_d, m_basecfg.look_zero_edge_max_d);
GET_REG(kreg_motor_run_to_zero_speed, m_basecfg.run_to_zero_speed);
GET_REG(kreg_motor_run_to_zero_dec, m_basecfg.run_to_zero_dec);
GET_REG(kreg_motor_look_zero_edge_speed, m_basecfg.look_zero_edge_speed);
GET_REG(kreg_motor_look_zero_edge_dec, m_basecfg.look_zero_edge_dec);
GET_REG(kreg_stepmotor_ihold, m_basecfg.ihold);
GET_REG(kreg_stepmotor_irun, m_basecfg.irun);
GET_REG(kreg_stepmotor_iholddelay, m_basecfg.iholddelay);
GET_REG(kreg_xyrobot_robot_type, m_basecfg.robot_type);
GET_REG(kreg_module_status, m_thread.isworking() ? 0x01 : 0x00);
GET_REG(kreg_module_errorcode, 0);
GET_REG(kreg_module_enableflag, m_enable);
GET_REG(kreg_robot_x_pos, m_x);
GET_REG(kreg_robot_y_pos, m_y);
GET_REG(kreg_module_last_cmd_exec_status, m_module_last_cmd_exec_status);
GET_REG(kreg_module_last_cmd_exec_val0, m_module_last_cmd_exec_val0);
GET_REG(kreg_module_last_cmd_exec_val1, m_module_last_cmd_exec_val1);
GET_REG(kreg_module_last_cmd_exec_val2, m_module_last_cmd_exec_val2);
GET_REG(kreg_module_last_cmd_exec_val3, m_module_last_cmd_exec_val3);
GET_REG(kreg_module_last_cmd_exec_val4, m_module_last_cmd_exec_val4);
GET_REG(kreg_module_last_cmd_exec_val5, m_module_last_cmd_exec_val5);
// GET_REG(kreg_xyrobot_x_dpos, m_dx);
// GET_REG(kreg_xyrobot_y_dpos, m_dy);
MODULE_COMMON_PROCESS_REG_CB();
PROCESS_REG(kreg_motor_x_shift, REG_GET(m_basecfg.shift_x), REG_SET(m_basecfg.shift_x));
PROCESS_REG(kreg_motor_y_shift, REG_GET(m_basecfg.shift_y), REG_SET(m_basecfg.shift_y));
PROCESS_REG(kreg_motor_x_shaft, REG_GET(m_basecfg.x_shaft), REG_SET(m_basecfg.x_shaft));
PROCESS_REG(kreg_motor_y_shaft, REG_GET(m_basecfg.y_shaft), REG_SET(m_basecfg.y_shaft));
PROCESS_REG(kreg_motor_x_one_circle_pulse, REG_GET(m_basecfg.distance_scale), REG_SET(m_basecfg.distance_scale));
PROCESS_REG(kreg_motor_y_one_circle_pulse, REG_GET(m_basecfg.distance_scale), REG_SET(m_basecfg.distance_scale));
PROCESS_REG(kreg_motor_default_velocity, REG_GET(m_basecfg.maxspeed), REG_SET(m_basecfg.maxspeed));
PROCESS_REG(kreg_motor_default_acc, REG_GET(m_basecfg.acc), REG_SET(m_basecfg.acc));
PROCESS_REG(kreg_motor_default_dec, REG_GET(m_basecfg.dec), REG_SET(m_basecfg.dec));
PROCESS_REG(kreg_motor_default_break_dec, REG_GET(m_basecfg.breakdec), REG_SET(m_basecfg.breakdec));
PROCESS_REG(kreg_motor_run_to_zero_max_x_d, REG_GET(m_basecfg.run_to_zero_max_d), REG_SET(m_basecfg.run_to_zero_max_d));
PROCESS_REG(kreg_motor_run_to_zero_max_y_d, REG_GET(m_basecfg.run_to_zero_max_d), REG_SET(m_basecfg.run_to_zero_max_d));
PROCESS_REG(kreg_motor_look_zero_edge_max_x_d, REG_GET(m_basecfg.look_zero_edge_max_d), REG_SET(m_basecfg.look_zero_edge_max_d));
PROCESS_REG(kreg_motor_look_zero_edge_max_y_d, REG_GET(m_basecfg.look_zero_edge_max_d), REG_SET(m_basecfg.look_zero_edge_max_d));
PROCESS_REG(kreg_motor_run_to_zero_speed, REG_GET(m_basecfg.run_to_zero_speed), REG_SET(m_basecfg.run_to_zero_speed));
PROCESS_REG(kreg_motor_run_to_zero_dec, REG_GET(m_basecfg.run_to_zero_dec), REG_SET(m_basecfg.run_to_zero_dec));
PROCESS_REG(kreg_motor_look_zero_edge_speed, REG_GET(m_basecfg.look_zero_edge_speed), REG_SET(m_basecfg.look_zero_edge_speed));
PROCESS_REG(kreg_motor_look_zero_edge_dec, REG_GET(m_basecfg.look_zero_edge_dec), REG_SET(m_basecfg.look_zero_edge_dec));
PROCESS_REG(kreg_stepmotor_ihold, REG_GET(m_basecfg.ihold), REG_SET(m_basecfg.ihold));
PROCESS_REG(kreg_stepmotor_irun, REG_GET(m_basecfg.irun), REG_SET(m_basecfg.irun));
PROCESS_REG(kreg_stepmotor_iholddelay, REG_GET(m_basecfg.iholddelay), REG_SET(m_basecfg.iholddelay));
PROCESS_REG(kreg_xyrobot_robot_type, REG_GET(m_basecfg.robot_type), REG_SET(m_basecfg.robot_type));
PROCESS_REG(kreg_robot_x_pos, REG_GET(m_x), ACTION_NONE);
PROCESS_REG(kreg_robot_y_pos, REG_GET(m_y), ACTION_NONE);
default: default:
return err::kmodule_not_find_config_index; return err::kmodule_not_find_config_index;
break;
} }
return 0; return 0;
} }
int32_t XYRobotCtrlModule::do_action(int32_t actioncode) { return err::kmodule_not_support_action; }
#if 0 #if 0
int32_t XYRobotCtrlModule::module_set_state(int32_t state_id, int32_t state_value) { return err::kmodule_not_find_state_index; } int32_t XYRobotCtrlModule::module_set_state(int32_t state_id, int32_t state_value) { return err::kmodule_not_find_state_index; }
int32_t XYRobotCtrlModule::module_get_state(int32_t state_id, int32_t* state_value) { int32_t XYRobotCtrlModule::module_get_state(int32_t state_id, int32_t* state_value) {
@ -799,17 +753,17 @@ int32_t XYRobotCtrlModule::xymotor_calculated_pos_by_move_to_zero() {
m_dx = 0; m_dx = 0;
m_dy = 0; m_dy = 0;
m_module_last_cmd_exec_status = err::kmodule_opeation_break_by_user;
m_module_last_cmd_exec_val0 = 0;
m_module_last_cmd_exec_val1 = 0;
m_com_reg.module_last_cmd_exec_status = err::kmodule_opeation_break_by_user;
m_com_reg.module_last_cmd_exec_val0 = 0;
m_com_reg.module_last_cmd_exec_val1 = 0;
_motor_stop(); _motor_stop();
return; return;
} }
m_dx = dx;
m_dy = dy;
m_module_last_cmd_exec_status = 0;
m_module_last_cmd_exec_val0 = m_dx;
m_module_last_cmd_exec_val1 = m_dy;
m_dx = dx;
m_dy = dy;
m_com_reg.module_last_cmd_exec_status = 0;
m_com_reg.module_last_cmd_exec_val0 = m_dx;
m_com_reg.module_last_cmd_exec_val1 = m_dy;
m_stepM1->setXACTUAL(0); m_stepM1->setXACTUAL(0);
m_stepM2->setXACTUAL(0); m_stepM2->setXACTUAL(0);
return; return;

18
components/xy_robot_ctrl_module/xy_robot_ctrl_module.hpp

@ -8,6 +8,8 @@
namespace iflytop { namespace iflytop {
class XYRobotCtrlModule : public I_XYRobotCtrlModule, public ZIXYMotor, public ZIModule { class XYRobotCtrlModule : public I_XYRobotCtrlModule, public ZIXYMotor, public ZIModule {
ENABLE_MODULE(XYRobotCtrlModule, khbot_module, 0x0001);
public: public:
private: private:
IStepperMotor* m_stepM1; IStepperMotor* m_stepM1;
@ -23,13 +25,6 @@ class XYRobotCtrlModule : public I_XYRobotCtrlModule, public ZIXYMotor, public Z
int32_t m_moduleId; int32_t m_moduleId;
int32_t m_module_last_cmd_exec_status = 0;
int32_t m_module_last_cmd_exec_val0 = 0;
int32_t m_module_last_cmd_exec_val1 = 0;
int32_t m_module_last_cmd_exec_val2 = 0;
int32_t m_module_last_cmd_exec_val3 = 0;
int32_t m_module_last_cmd_exec_val4 = 0;
int32_t m_module_last_cmd_exec_val5 = 0;
int m_x = 0; int m_x = 0;
int m_y = 0; int m_y = 0;
@ -79,8 +74,8 @@ class XYRobotCtrlModule : public I_XYRobotCtrlModule, public ZIXYMotor, public Z
virtual int32_t flush() override; virtual int32_t flush() override;
virtual int32_t factory_reset() override; virtual int32_t factory_reset() override;
void loop();
void dumpcfg();
void loop();
void dumpcfg();
virtual int32_t module_ping() { return 0; }; virtual int32_t module_ping() { return 0; };
virtual int32_t getid(int32_t* id); virtual int32_t getid(int32_t* id);
@ -107,7 +102,6 @@ class XYRobotCtrlModule : public I_XYRobotCtrlModule, public ZIXYMotor, public Z
virtual int32_t xymotor_calculated_pos_by_move_to_zero(); virtual int32_t xymotor_calculated_pos_by_move_to_zero();
private: private:
void active_cfg(); void active_cfg();
void computeTargetMotorPos(); void computeTargetMotorPos();
void getnowpos(int32_t& x, int32_t& y); void getnowpos(int32_t& x, int32_t& y);
@ -123,6 +117,8 @@ class XYRobotCtrlModule : public I_XYRobotCtrlModule, public ZIXYMotor, public Z
void _motor_stop(int32_t dec = -1); void _motor_stop(int32_t dec = -1);
bool _motor_is_reach_target(); bool _motor_is_reach_target();
void call_status_cb(action_cb_status_t cb, int32_t status);
void call_status_cb(action_cb_status_t cb, int32_t status);
int32_t module_xxx_reg(int32_t param_id, bool read, int32_t& val);
int32_t do_action(int32_t actioncode);
}; };
} // namespace iflytop } // namespace iflytop

95
components/zprotocol_helper/micro_computer_module_device_script_cmder_paser.cpp

@ -10,14 +10,6 @@ using namespace std;
#define TAG "CMD" #define TAG "CMD"
void MicroComputerModuleDeviceScriptCmderPaser::do_dumpreg(int32_t moduleId) {
ICmdParserACK ack;
const char paraV_cache[1][10] = {{0}};
sprintf((char*)paraV_cache[0], "%ld", moduleId);
const char* paraV[1] = {paraV_cache[0]};
do_dumpreg(1, (const char**)paraV, &ack);
}
static const char* dumpbit(int32_t bit) { static const char* dumpbit(int32_t bit) {
static char buf[100]; static char buf[100];
sprintf(buf, "%d%d%d%d(0:3) %d%d%d%d(4:7) %d%d%d%d(8:11) %d%d%d%d(12:15)", // sprintf(buf, "%d%d%d%d(0:3) %d%d%d%d(4:7) %d%d%d%d(8:11) %d%d%d%d(12:15)", //
@ -28,26 +20,69 @@ static const char* dumpbit(int32_t bit) {
return buf; return buf;
} }
void MicroComputerModuleDeviceScriptCmderPaser::do_dumpreg(int32_t paramN, const char* paraV[], ICmdParserACK* ack) {
//
ack->ecode = 0;
void MicroComputerModuleDeviceScriptCmderPaser::initialize(ICmdParser* cancmder, ZModuleDeviceManager* deviceManager) {
ZModuleDeviceScriptCmderPaser::initialize(cancmder, deviceManager);
m_cmdParser = cancmder;
m_deviceManager = deviceManager;
cancmder->regCMD("dumpreg", "(mid)", 1, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { //
app_dump_reg(paramN, paraV, ack);
});
cancmder->regCMD("app_dump_regs", "(mid)", 1, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { //
app_dump_reg(paramN, paraV, ack);
});
cancmder->regCMD("app_dump_reg", "(mid,regindex)", 2, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { //
app_dump_reg(paramN, paraV, ack);
});
cancmder->regCMD("app_scanmodule", "()", 0, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { //
do_scan_module(paramN, paraV, ack);
});
cancmder->regCMD("app_wait_for_module", "(mid,timeout)", -1, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { //
do_wait_for_module(paramN, paraV, ack);
});
cancmder->regCMD("scanmodule", "()", 0, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { //
do_scan_module(paramN, paraV, ack);
});
deviceManager->regOnRegValChangeEvent([this](int32_t moduleid, int32_t event_id, int32_t eventval) { //
ZLOGI(TAG, "onRegValChangeEvent(%d,%d,%d)", moduleid, event_id, eventval);
});
}
uint16_t moduleId = atoi(paraV[0]);
int32_t configval = 0;
int32_t ecode = 0;
ZLOGI(TAG, "dumpconfig %s", paraV[0]);
void MicroComputerModuleDeviceScriptCmderPaser::app_dump_regs(int32_t paramN, const char* paraV[], ICmdParserACK* ack) {
ack->ecode = 0;
uint16_t moduleId = atoi(paraV[0]);
ZLOGI(TAG, "app_dump_regs %s", paraV[0]);
app_dump_reg(moduleId, 0);
}
void MicroComputerModuleDeviceScriptCmderPaser::app_dump_reg(int32_t paramN, const char* paraV[], ICmdParserACK* ack) {
ack->ecode = 0;
uint16_t moduleId = atoi(paraV[0]);
uint16_t regid = atoi(paraV[1]);
ZLOGI(TAG, "app_dump_regs %s", paraV[0], paraV[1]);
app_dump_reg(moduleId, regid);
}
#define DUMP_CONFIG(tag, configid) \
ecode = m_deviceManager->module_get_reg(moduleId, configid, &configval); \
if (ecode == 0) { \
ZLOGI(TAG, "%s(%d) :%d", tag, configid, configval); \
void MicroComputerModuleDeviceScriptCmderPaser::app_dump_reg(int32_t moduleId, int32_t regid) {
#define DUMP_CONFIG(tag, configid) \
if (regid == 0 || regid == configid) { \
ecode = m_deviceManager->module_get_reg(moduleId, configid, &configval); \
if (ecode == 0) { \
ZLOGI(TAG, "%s(%d) :%d", tag, configid, configval); \
} \
} }
#define DUMP_CONFIG_BIT(tag, configid) \
ecode = m_deviceManager->module_get_reg(moduleId, configid, &configval); \
if (ecode == 0) { \
ZLOGI(TAG, "%s(%d) :%s", tag, configid, dumpbit(configval)); \
#define DUMP_CONFIG_BIT(tag, configid) \
if (regid == 0 || regid == configid) { \
ecode = m_deviceManager->module_get_reg(moduleId, configid, &configval); \
if (ecode == 0) { \
ZLOGI(TAG, "%s(%d) :%s", tag, configid, dumpbit(configval)); \
} \
} }
int32_t configval = 0;
int32_t ecode = 0;
ZLOGI(TAG,"-------------------------REG LIST--------------------------")
/******************************************************************************* /*******************************************************************************
* Ä£¿éͨÓÃÅäÖúÍ״̬ * * Ä£¿éͨÓÃÅäÖúÍ״̬ *
@ -351,20 +386,6 @@ void MicroComputerModuleDeviceScriptCmderPaser::do_dumpreg(int32_t paramN, const
DUMP_CONFIG("boditech_optical_laster_intensity", kreg_boditech_optical_laster_intensity); DUMP_CONFIG("boditech_optical_laster_intensity", kreg_boditech_optical_laster_intensity);
} }
void MicroComputerModuleDeviceScriptCmderPaser::initialize(ICmdParser* cancmder, ZModuleDeviceManager* deviceManager) {
ZModuleDeviceScriptCmderPaser::initialize(cancmder, deviceManager);
m_cmdParser = cancmder;
m_deviceManager = deviceManager;
cancmder->regCMD("dumpreg", "(mid)", 1, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { do_dumpreg(paramN, paraV, ack); });
cancmder->regCMD("scanmodule", "()", 0, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { do_scan_module(paramN, paraV, ack); });
deviceManager->regOnRegValChangeEvent([this](int32_t moduleid, int32_t event_id, int32_t eventval) { //
ZLOGI(TAG, "onRegValChangeEvent(%d,%d,%d)", moduleid, event_id, eventval);
});
cancmder->regCMD("app_wait_for_module", "(mid,timeout)", -1, [this](int32_t paramN, const char* paraV[], ICmdParserACK* ack) { do_wait_for_module(paramN, paraV, ack); });
}
void MicroComputerModuleDeviceScriptCmderPaser::do_wait_for_module(int32_t paramN, const char* paraV[], ICmdParserACK* ack) { void MicroComputerModuleDeviceScriptCmderPaser::do_wait_for_module(int32_t paramN, const char* paraV[], ICmdParserACK* ack) {
if (paramN < 1) { if (paramN < 1) {
ack->ecode = err::kcmd_param_num_error; ack->ecode = err::kcmd_param_num_error;

12
components/zprotocol_helper/micro_computer_module_device_script_cmder_paser.hpp

@ -10,16 +10,14 @@ class MicroComputerModuleDeviceScriptCmderPaser : public ZModuleDeviceScriptCmde
public: public:
void initialize(ICmdParser* cancmder, ZModuleDeviceManager* deviceManager); void initialize(ICmdParser* cancmder, ZModuleDeviceManager* deviceManager);
void do_dumpreg(int32_t paramN, const char* paraV[], ICmdParserACK* ack);
void do_dumpreg(int32_t moduleId);
void do_dumpstate(int32_t paramN, const char* paraV[], ICmdParserACK* ack) {}
void do_dumpstate(int32_t moduleId) {}
void app_dump_reg(int32_t moduleId, int32_t regid);
void do_wait_for_module(int32_t moduleid, int32_t timeout, ICmdParserACK* ack);
private:
void do_scan_module(int32_t paramN, const char* paraV[], ICmdParserACK* ack); void do_scan_module(int32_t paramN, const char* paraV[], ICmdParserACK* ack);
void do_wait_for_module(int32_t paramN, const char* paraV[], ICmdParserACK* ack); void do_wait_for_module(int32_t paramN, const char* paraV[], ICmdParserACK* ack);
void do_wait_for_module(int32_t moduleid, int32_t timeout, ICmdParserACK* ack);
void app_dump_regs(int32_t paramN, const char* paraV[], ICmdParserACK* ack);
void app_dump_reg(int32_t paramN, const char* paraV[], ICmdParserACK* ack);
}; };
} // namespace iflytop } // namespace iflytop

2
components/zprotocols/zcancmder_v2

@ -1 +1 @@
Subproject commit 8c1056e0d3019b754ae57f65c954a69262efa5cd
Subproject commit 9cdfcc02e4c0e75f4d1b731c91b87ae2c22b467e
Loading…
Cancel
Save