From 0f6ce713134e03addfb908f28c2df7d4bb0dba56 Mon Sep 17 00:00:00 2001 From: Ruixiang Du Date: Fri, 9 Jul 2021 00:10:39 +0800 Subject: [PATCH] fixed scout_base decoding --- .../details/protocol_v1/scout_base_v1.hpp | 52 ------------------- .../details/robot_base/agilex_base.hpp | 1 - .../ugv_sdk/details/robot_base/scout_base.hpp | 2 +- .../protocol_v2/agilex_msg_parser.h | 0 src/protocol_v2/agx_msg_parser.c | 2 +- src/protocol_v2/protocol_v2_parser.cpp | 2 +- 6 files changed, 3 insertions(+), 56 deletions(-) delete mode 100644 include/ugv_sdk/details/protocol_v1/scout_base_v1.hpp rename {include/ugv_sdk/details => src}/protocol_v2/agilex_msg_parser.h (100%) diff --git a/include/ugv_sdk/details/protocol_v1/scout_base_v1.hpp b/include/ugv_sdk/details/protocol_v1/scout_base_v1.hpp deleted file mode 100644 index e30e199..0000000 --- a/include/ugv_sdk/details/protocol_v1/scout_base_v1.hpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - * scout_base_v1.hpp - * - * Created on: Jul 08, 2021 22:47 - * Description: - * - * Copyright (c) 2021 Ruixiang Du (rdu) - */ - -#ifndef SCOUT_BASE_V1_HPP -#define SCOUT_BASE_V1_HPP - -#include -#include -#include -#include - -#include "ugv_sdk/interface/scout_interface.hpp" - -#include "ugv_sdk/mobile_base/agilex_base.hpp" -#include "ugv_sdk/protocol_v1/scout_protocol_v1_parser.hpp" - -namespace westonrobot { -class ScoutBaseV1 : public AgilexBase, - public ScoutInterface { - public: - ScoutBaseV1() : AgilexBase(){}; - ~ScoutBaseV1() = default; - - // set up connection - void Connect(std::string can_name) override; - void Connect(std::string uart_name, uint32_t baudrate) override; - - // robot control - void SetMotionCommand(double linear_vel, double angular_vel) override; - void SetLightCommand(LightMode f_mode, uint8_t f_value, LightMode r_mode, - uint8_t r_value) override; - - // get robot state - ScoutState GetRobotState() override; - - void ResetRobotState() override {} - - private: - ScoutState scout_state_; - - void ParseCANFrame(can_frame *rx_frame) override; - void UpdateScoutState(const AgxMessage &status_msg, ScoutState &state); -}; -} // namespace westonrobot - -#endif /* SCOUT_BASE_V1_HPP */ diff --git a/include/ugv_sdk/details/robot_base/agilex_base.hpp b/include/ugv_sdk/details/robot_base/agilex_base.hpp index 9a06c0a..2ccf36b 100644 --- a/include/ugv_sdk/details/robot_base/agilex_base.hpp +++ b/include/ugv_sdk/details/robot_base/agilex_base.hpp @@ -25,7 +25,6 @@ #include "ugv_sdk/details/stopwatch.hpp" #include "ugv_sdk/details/async_port/async_can.hpp" #include "ugv_sdk/details/interface/robot_interface.hpp" -#include "ugv_sdk/details/protocol_v2/agilex_msg_parser.h" namespace westonrobot { template diff --git a/include/ugv_sdk/details/robot_base/scout_base.hpp b/include/ugv_sdk/details/robot_base/scout_base.hpp index 43b87d1..06a25ff 100644 --- a/include/ugv_sdk/details/robot_base/scout_base.hpp +++ b/include/ugv_sdk/details/robot_base/scout_base.hpp @@ -61,7 +61,7 @@ class ScoutBase : public AgilexBase, public ScoutInterface { void ParseCANFrame(can_frame *rx_frame) override { AgxMessage status_msg; - DecodeCanFrame(rx_frame, &status_msg); + AgilexBase::parser_.DecodeMessage(rx_frame, &status_msg); std::lock_guard guard(AgilexBase::state_mutex_); UpdateScoutState(status_msg, scout_state_); } diff --git a/include/ugv_sdk/details/protocol_v2/agilex_msg_parser.h b/src/protocol_v2/agilex_msg_parser.h similarity index 100% rename from include/ugv_sdk/details/protocol_v2/agilex_msg_parser.h rename to src/protocol_v2/agilex_msg_parser.h diff --git a/src/protocol_v2/agx_msg_parser.c b/src/protocol_v2/agx_msg_parser.c index 76d4227..1aeb908 100644 --- a/src/protocol_v2/agx_msg_parser.c +++ b/src/protocol_v2/agx_msg_parser.c @@ -8,7 +8,7 @@ */ #include "agx_protocol_v2.h" -#include "ugv_sdk/details/protocol_v2/agilex_msg_parser.h" +#include "protocol_v2/agilex_msg_parser.h" #include "stdio.h" #include "string.h" diff --git a/src/protocol_v2/protocol_v2_parser.cpp b/src/protocol_v2/protocol_v2_parser.cpp index 4341073..9ead7bf 100644 --- a/src/protocol_v2/protocol_v2_parser.cpp +++ b/src/protocol_v2/protocol_v2_parser.cpp @@ -7,8 +7,8 @@ * Copyright (c) 2021 Weston Robot Pte. Ltd. */ -#include "ugv_sdk/details/protocol_v2/agilex_msg_parser.h" #include "ugv_sdk/details/protocol_v2/protocol_v2_parser.hpp" +#include "protocol_v2/agilex_msg_parser.h" namespace westonrobot { bool ProtocolV2Parser::DecodeMessage(const struct can_frame *rx_frame,