正点原子开发板
alientek_develop_board
cancmder
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#pragma once
#include "sdk/os/zos.hpp"
#include "sdk\components\zprotocols\zcancmder_v2\api\api.hpp"
#include "sdk\components\zprotocols\zcancmder_v2\zmodule_device_manager.hpp"
namespace iflytop { using namespace std; class IntelligentWindingRobotCtrl { public: typedef struct { /**
* @brief �ŷ϶��� */ int32_t paifei_duoji_reset_pos; int32_t paifei_duoji_press_pos; int32_t paifei_duoji_press_torque;
/**
* @brief ����̽������ */ int32_t raoxiantance_duoji_reset_pos; int32_t raoxiantance_duoji_tance_zero_pos;
/**
* @brief ѹ�߶��� */ int32_t yaxian_duoji_reset_pos; int32_t yaxian_duoji_press_pos; int32_t yaxian_duoji_press_torque; int32_t yaxian_duoji_wait_for_press_pos;
/**
* @brief ���������� */ int32_t xianlajin_duoji_reset_pos; int32_t xianlajin_duoji_line_entry_pos; int32_t xianlajin_duoji_tight_line_pos; int32_t xianlajin_duoji_loose_line_pos;
/**
* @brief ����� */ int32_t jiaxian_duoji_reset_pos; int32_t jiaxian_duoji_clamp_pos; int32_t jiaxian_duoji_clamp_torque;
/**
* @brief ��е�ۼ��߶��� */ int32_t arm_jiaxian_duoji_reset_pos; int32_t arm_jiaxian_duoji_clamp_pos; int32_t arm_jiaxian_duoji_clamp_torque;
/**
* @brief ���� */ int32_t scissors_reset_pos; int32_t scissors_cut_pos;
/**
* @brief ��צ */ int32_t arm_hook_claws_half_pos; int32_t arm_hook_claws_full_pos;
/**
* @brief Z�ᶨλ */ int32_t z_axis_take_line_pos; int32_t z_axis_take_clip_pos; int32_t z_axis_winding_hight;
/**
* @brief XYƽ̨ */
int32_t xy_platform_winding_pos_x; int32_t xy_platform_winding_pos_y;
int32_t xy_platform_takeline_pos_x; int32_t xy_platform_takeline_pos_y;
} config_t;
ZModuleDeviceManager* m_dm; ICmdParser* m_cmdparse; config_t cfg;
public: int32_t initialize(ZModuleDeviceManager* dm, ICmdParser* cmdparse); int32_t initialize_device(); // �ŷ϶���
int32_t paifei_duoji_moveto_reset(); int32_t paifei_duoji_moveto_press(); /**
* @brief ����̽������ */ int32_t raoxiantance_duoji_move_to_reset(); int32_t raoxiantance_duoji_move_to_get_thickness(int32_t *thickness); /**
* @brief ѹ�߶��� */ int32_t yaxian_duoji_move_to_reset(); int32_t yaxian_duoji_move_to_press_pos(); int32_t yaxian_duoji_move_to_wait_for_press_pos(); /**
* @brief ���������� */ int32_t xianlajin_duoji_move_to_reset(); // ��λ
int32_t xianlajin_duoji_move_to_line_entry_pos(); // ����λ
int32_t xianlajin_duoji_move_to_tight_line_pos(); // �����
int32_t xianlajin_duoji_move_to_loose_line_pos(); // �����
/**
* @brief ���߶��� */ int32_t jiaxian_duoji_move_to_reset_pos(); int32_t jiaxian_duoji_move_to_clamp_pos(); /**
* @brief ���� */ int32_t scissors_move_reset_pos(); // block
int32_t scissors_cut(); // block
/**
* @brief ��е�ۼ��߶��� */ int32_t arm_jiaxian_duoji_move_to_reset_pos(); int32_t arm_jiaxian_duoji_move_to_clamp_pos();
/**
* @brief ��е�۹�צ */ int32_t arm_hook_claws_reset(); int32_t arm_hook_claws_move_to_half_pos(); int32_t arm_hook_claws_move_to_full_pos();
int32_t main_shaft_run(); int32_t main_shaft_stop();
/**
* @brief XYƽ̨ */ int32_t xy_platform_reset(); /**
* @brief Z�� */ int32_t z_axis_reset(); int32_t z_axis_move_to(int32_t pos);
int32_t xy_reset(); // ��λ
int32_t xy_move_to_zero(); // �ƶ�����λ
int32_t xy_take_clip(int32_t index); // ȡ����
int32_t xy_take_line(); // ȡ��
int32_t xy_take_back_clip(); // �ŵ���
int32_t xy_remove_line(); // �Ƴ���
/**
* @brief */ int32_t start_winding(); int32_t stop_winding(); int32_t reset_and_check_device();
int32_t setcfg(const char* cfgname, int32_t cfgvalue); int32_t dumpcfg();
int32_t do_reset_device(); int32_t do_winding(int32_t index);
void processError(int32_t err);
void wait_module_idle(int32_t moduleid); };
} // namespace iflytop
|