Browse Source

V521

master
zhaohe 1 year ago
parent
commit
e490e0f8a7
  1. 2
      a8000_protocol
  2. 2
      sdk/components/mini_servo_motor/mini_servo_motor_ctrl_module.cpp
  3. 1
      sdk/components/step_motor_ctrl_module/step_motor_ctrl_module.cpp
  4. 8
      sdk/components/xy_robot_ctrl_module/xy_robot_ctrl_module.cpp
  5. 2
      sdk/components/xy_robot_ctrl_module/xy_robot_ctrl_module.hpp
  6. 2
      usrc/project_configs.h
  7. 10
      usrc/public_service/ext_board_impl.cpp
  8. 2
      usrc/public_service/ext_board_impl.hpp

2
a8000_protocol

@ -1 +1 @@
Subproject commit ae58e9ee275d6abdaa78ba2f519d1d87b6e2bf3c
Subproject commit 9ece9bfe4e730bd668cdd6c4da0a3071de7ede14

2
sdk/components/mini_servo_motor/mini_servo_motor_ctrl_module.cpp

@ -28,7 +28,7 @@ int32_t MiniServoCtrlModule::getid(int32_t *id) {
}
int32_t MiniServoCtrlModule::module_xxx_reg(int32_t param_id, bool read, int32_t &val) {
switch (param_id) {
MODULE_COMMON_PROCESS_REG_CB();
PROCESS_REG(kreg_mini_servo_is_enable, REG_GET(m_state.enable), ACTION_NONE);
PROCESS_REG(kreg_mini_servo_pos, mini_servo_read_pos(&val), ACTION_NONE);
PROCESS_REG(kreg_mini_servo_limit_velocity, REG_GET(m_cfg.limit_velocity), REG_SET(m_cfg.limit_velocity));
PROCESS_REG(kreg_mini_servo_limit_torque, REG_GET(m_cfg.limit_torque), REG_SET(m_cfg.limit_torque));

1
sdk/components/step_motor_ctrl_module/step_motor_ctrl_module.cpp

@ -85,6 +85,7 @@ int32_t StepMotorCtrlModule::pri_module_xxx_reg(int32_t param_id, bool read, int
switch (param_id) {
MODULE_COMMON_PROCESS_REG_CB();
PROCESS_REG(kreg_step_motor_pos, getnowpos(val), ACTION_NONE);
PROCESS_REG(kreg_step_motor_is_enable, REG_GET(m_state.enable), ACTION_NONE);
PROCESS_REG(kreg_step_motor_dpos, REG_GET(m_state.dpos), ACTION_NONE);
PROCESS_REG(kreg_step_motor_shaft, REG_GET(m_cfg.motor_shaft), REG_SET(m_cfg.motor_shaft));

8
sdk/components/xy_robot_ctrl_module/xy_robot_ctrl_module.cpp

@ -51,11 +51,11 @@ int32_t XYRobotCtrlModule::xymotor_enable(int32_t enable) {
ZLOGI(TAG, "enable:%d", enable);
m_stepM1->enable(enable);
m_stepM2->enable(enable);
m_state.enable = enable;
m_state.is_enable = enable;
return 0;
}
int32_t XYRobotCtrlModule::do_public_check() {
if (!m_state.enable) {
if (!m_state.is_enable) {
return err::kxymotor_not_enable;
}
return 0;
@ -92,7 +92,7 @@ int32_t XYRobotCtrlModule::module_active_cfg() {
m_stepM2->set_tzerowait(m_cfg.tzerowait);
m_stepM2->set_enc_resolution(m_cfg.enc_resolution);
if (m_state.enable) {
if (m_state.is_enable) {
m_stepM1->enable(true);
m_stepM2->enable(true);
}
@ -151,6 +151,7 @@ int32_t XYRobotCtrlModule::xymotor_read_pos(int32_t* x, int32_t* y) {
}
#define UPDATE_CFG(key) PROCESS_REG(kreg_xyrobot_##key, REG_GET(m_cfg.key), REG_SET(m_cfg.key))
#define READ_STATE(key) PROCESS_REG(kreg_xyrobot_##key, REG_GET(m_state.key),ACTION_NONE)
int32_t XYRobotCtrlModule::module_xxx_reg(int32_t param_id, bool read, int32_t& val) {
int32_t ret = __module_xxx_reg(param_id, read, val);
if (ret != 0) {
@ -196,6 +197,7 @@ int32_t XYRobotCtrlModule::__module_xxx_reg(int32_t param_id, bool read, int32_t
UPDATE_CFG(pos_devi_tolerance);
UPDATE_CFG(io_trigger_append_distance);
READ_STATE(is_enable);
default:
return err::kmodule_not_find_reg;
break;

2
sdk/components/xy_robot_ctrl_module/xy_robot_ctrl_module.hpp

@ -57,7 +57,7 @@ class XYRobotCtrlModule : public ZIXYMotor, public ZIModule {
int32_t before_x;
int32_t before_y;
bool enable;
int32_t is_enable;
int32_t hassync;
} state_t;

2
usrc/project_configs.h

@ -1,5 +1,5 @@
#pragma once
#define PC_VERSION 520
#define PC_VERSION 521
#define PC_MANUFACTURER "http://www.iflytop.com/"
#define PC_PROJECT_NAME "a8000_subboard"
#define PC_IFLYTOP_ENABLE_OS 1

10
usrc/public_service/ext_board_impl.cpp

@ -12,7 +12,14 @@ int32_t ExtBoardImpl::getid(int32_t *id) {
*id = getmoduleId(0);
return 0;
}
int32_t ExtBoardImpl::module_xxx_reg(int32_t param_id, bool read, int32_t &val) { return err::kmodule_not_find_reg; }
int32_t ExtBoardImpl::module_xxx_reg(int32_t param_id, bool read, int32_t &val) {
switch (param_id) {
PROCESS_REG(kreg_extboard_resetflag, REG_GET(resetflag), REG_SET(resetflag));
default:
return err::kmodule_not_find_reg;
}
return 0;
}
int32_t ExtBoardImpl::extboard_read_inio(int32_t ioindex, int32_t *val) {
if (ioindex < 0 || ioindex >= ZARRAY_SIZE(IO)) return err::kparam_out_of_range;
*val = IO[ioindex].getState();
@ -34,7 +41,6 @@ int32_t ExtBoardImpl::extboard_read_inio_index_in_stm32(int32_t ioindex, int32_t
return 0;
}
int32_t ExtBoardImpl::kextboard_write_outio(int32_t ioindex, int32_t val) {
if (ioindex < 0 || ioindex >= ZARRAY_SIZE(IO)) return err::kparam_out_of_range;
OutputIO[ioindex].setState(val);

2
usrc/public_service/ext_board_impl.hpp

@ -19,6 +19,8 @@ class ExtBoardImpl : public ZIBoard, public ZIModule {
ZGPIO IO[EXT_READ_IO_NUM];
ZGPIO OutputIO[EXT_WRITE_IO_NUM];
int32_t resetflag = 1;
public:
ExtBoardImpl(/* args */);
~ExtBoardImpl();

Loading…
Cancel
Save