From 644425949354407023aca63cc21fb4c638df8df1 Mon Sep 17 00:00:00 2001 From: liufang Date: Wed, 21 Dec 2022 13:20:42 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3=E5=AE=8C=E5=96=84?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E7=89=88=E6=9C=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 2 +- Doxyfile | 2 +- TODO.md | 2 +- doc/changelog.md | 6 +++ sdk/include/lebai/robot.hh | 90 ++++++++++++++++++++++---------------- sdk/test/test_robot.cc | 6 ++- 6 files changed, 66 insertions(+), 42 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f470257..f2d200f 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") option(CMAKE_EXPORT_COMPILE_COMMANDS "Export compile command" TRUE) -project(lebai VERSION 1.0.8 LANGUAGES CXX) +project(lebai VERSION 1.0.9 LANGUAGES CXX) set(PROJECT_NAMESPACE lebai) message(STATUS "${PROJECT_NAME} version: ${PROJECT_VERSION}") # message(STATUS "major: ${PROJECT_VERSION_MAJOR}") diff --git a/Doxyfile b/Doxyfile index 9fd05c8..785513a 100644 --- a/Doxyfile +++ b/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = "lebai sdk" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 1.0.8 +PROJECT_NUMBER = 1.0.9 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/TODO.md b/TODO.md index f850fdc..fb65cb1 100644 --- a/TODO.md +++ b/TODO.md @@ -1,6 +1,6 @@ # TODO -## v1.0.8 +## v1.0.9 - [x] SDK版本 - [x] 系统控制-reboot diff --git a/doc/changelog.md b/doc/changelog.md index 2ecc3d0..fd84f72 100644 --- a/doc/changelog.md +++ b/doc/changelog.md @@ -1,5 +1,11 @@ # ChangeLog +## 1.0.9 + +修正文档错误 + +修正rpc的逻辑错误,该逻辑错误导致rpc调用可能卡死的问题。 + ## 1.0.8 添加关节跟随运动的接口towardj diff --git a/sdk/include/lebai/robot.hh b/sdk/include/lebai/robot.hh index 69dabe3..49c84b2 100644 --- a/sdk/include/lebai/robot.hh +++ b/sdk/include/lebai/robot.hh @@ -117,8 +117,8 @@ namespace lebai * \brief 机械臂状态相关的接口. */ - /** \addtogroup IO Input and Output - * \brief IO相关的接口 + /** \addtogroup IO 通用输入输出 + * \brief 通用输入输出相关的接口 */ /** \defgroup CLAW 夹爪. @@ -394,7 +394,7 @@ namespace lebai * 11 | 示教中 | 机器人处于示教模式中 * 12 | 已停止 | 机器人处于停止状态,非急停状态 * - * @note See state here. + * @note 查看 具体信息. */ int get_robot_mode(); /** @@ -447,13 +447,13 @@ namespace lebai /** * @brief 获取机械臂关节当前反馈力矩 * - * @return * std::vector + * @return 关节当前反馈力矩 */ std::vector get_actual_joint_torques(); /** * @brief 获取机械臂关节当前控制力矩 * - * @return * std::vector + * @return 关节当前控制力矩 */ std::vector get_target_joint_torques(); @@ -462,74 +462,88 @@ namespace lebai * @{ */ /** - * @brief 设置控制箱数字输出 - * + * @brief 设置数字输出 + * @param device 设备类型,以字符串形式传入,包括 `ROBOT`, `FLANGE`, `EXTRA`, `SHOULDER`, `FLANGE_BTN` + * 查看 详细信息. * @param pin 端口,从 0 开始 * @param value 待设置的值 */ void set_do(std::string device, unsigned int pin, unsigned int value); /** - * @brief 获取控制箱数字输出 - * + * @brief 获取数字输出 + * @param device 设备类型,以字符串形式传入,包括 `ROBOT`, `FLANGE`, `EXTRA`, `SHOULDER`, `FLANGE_BTN` + * 查看 详细信息. * @param pin 端口,从 0 开始 - * @return 返回输入数值 + * @return 返回数字输出数值 */ unsigned int get_do(std::string device, unsigned int pin); /** - * @brief 获取控制箱数字输出 - * - * @param pin 端口,从 0 开始 - * @return 返回输入数值 + * @brief 获取多个数字输出 + * @param device 设备类型,以字符串形式传入,包括 `ROBOT`, `FLANGE`, `EXTRA`, `SHOULDER`, `FLANGE_BTN` + * 查看 详细信息. + * @param pin 起始数字输出端口,从 0 开始 + * @param num 连续的数字输出个数 + * @return 返回多个数字输出数值 */ std::vector get_dos(std::string device, unsigned int pin, unsigned int num); /** - * @brief 获取控制箱数字输入 - * + * @brief 获取数字输入 + * @param device 设备类型,以字符串形式传入,包括 `ROBOT`, `FLANGE`, `EXTRA`, `SHOULDER`, `FLANGE_BTN` + * 查看 详细信息. * @param pin 端口,从 0 开始 * @return 返回输入数值 */ unsigned int get_di(std::string device, unsigned int pin); /** - * @brief 获取控制箱数字输入 - * - * @param pin 端口,从 0 开始 - * @return 返回输入数值 + * @brief 获取多个数字输入 + * @param device 设备类型,以字符串形式传入,包括 `ROBOT`, `FLANGE`, `EXTRA`, `SHOULDER`, `FLANGE_BTN` + * 查看 详细信息. + * @param pin 起始数字输入端口,从 0 开始 + * @param num 连续的数字输入个数 + * @return 返回多个数字输入 */ std::vector get_dis(std::string device, unsigned int pin, unsigned int num); /** - * @brief 设置控制箱数字输出 - * - * @param pin: 端口,从 0 开始 - * @param value: 待设置的值 + * @brief 设置模拟输出 + * @param device 设备类型,以字符串形式传入,包括 `ROBOT`, `FLANGE`, `EXTRA`, `SHOULDER`, `FLANGE_BTN` + * 查看 详细信息. + * @param pin: 模拟输出端口,从 0 开始 + * @param value: 待设置的模拟输出值 */ void set_ao(std::string device, unsigned int pin, double value); /** - * @brief 获取控制箱模拟输入 - * + * @brief 获取模拟输出 + * @param device 设备类型,以字符串形式传入,包括 `ROBOT`, `FLANGE`, `EXTRA`, `SHOULDER`, `FLANGE_BTN` + * 查看 详细信息. * @param pin: 端口,从 0 开始 - * @return 返回输入数值 + * @return 返回模拟输入数值 */ double get_ao(std::string device, unsigned int pin); /** - * @brief 获取控制箱模拟输入 - * - * @param pin: 端口,从 0 开始 - * @return 返回输入数值 + * @brief 获取多个模拟输出 + * @param device 设备类型,以字符串形式传入,包括 `ROBOT`, `FLANGE`, `EXTRA`, `SHOULDER`, `FLANGE_BTN` + * 查看 详细信息. + * @param pin: 起始模拟输出端口,从 0 开始 + * @param num 连续的模拟输出个数 + * @return 返回模拟输出数值 */ std::vector get_aos(std::string device, unsigned int pin, unsigned int num); /** - * @brief 获取控制箱模拟输入 - * + * @brief 获取模拟输入 + * @param device 设备类型,以字符串形式传入,包括 `ROBOT`, `FLANGE`, `EXTRA`, `SHOULDER`, `FLANGE_BTN` + * 查看 详细信息. * @param pin: 端口,从 0 开始 - * @return 返回输入数值 + * @return 返回模拟输入数值 */ double get_ai(std::string device, unsigned int pin); /** - * @brief 获取控制箱模拟输入 - * - * @param pin: 端口,从 0 开始 - * @return 返回输入数值 + * @brief 获取多个模拟输入 + * @param device 设备类型,以字符串形式传入,包括 `ROBOT`, `FLANGE`, `EXTRA`, `SHOULDER`, `FLANGE_BTN` + * 查看 详细信息. + * @param pin: 起始模拟输入端口,从 0 开始 + * @param num 连续的模拟输入个数 + * @return 返回多个模拟输入数值 */ std::vector get_ais(std::string device, unsigned int pin, unsigned int num); /** @}*/ diff --git a/sdk/test/test_robot.cc b/sdk/test/test_robot.cc index b31dd69..260bc3f 100644 --- a/sdk/test/test_robot.cc +++ b/sdk/test/test_robot.cc @@ -224,7 +224,11 @@ namespace lebai robot_.get_di("EXTRA", 0); robot_.set_do("EXTRA", 0, static_cast(1)); robot_.get_ai("EXTRA", 0); - robot_.set_ao("EXTRA", 0, 0.0); + robot_.set_ao("EXTRA", 0, 0.0); + for(unsigned int i = 0; i < 100; ++i) + { + robot_.get_di("EXTRA", 0); + } } TEST_F(RobotTest, TestClaw) {